我使用以下两行来复制SQL数据库中单个数据的id.
$generate_projects_number =
"UPDATE `projects`
SET `id_project` = LAST_INSERT_ID()
WHERE `projects`.`id` = LAST_INSERT_ID();";
$conn->query($generate_projects_number);
Run Code Online (Sandbox Code Playgroud)
现在我在行中只有相同的ID号id_project,我想在那里有例如2018P4158(当前年份,'P',项目ID).
我们项目编号的方案:当前年份,'P',项目编号(例如2018P4158)
如何在LAST_INSERT_ID()值中添加前缀?
您可以使用以下方法CONCAT:
$generate_projects_number =
"UPDATE `projects`
SET `id_project` = CONCAT(YEAR(CURDATE()), 'P', `projects`.`id`)
WHERE `projects`.`id` = LAST_INSERT_ID();";
$conn->query($generate_projects_number);
Run Code Online (Sandbox Code Playgroud)
您可以自己设置年份(使用PHP),也可以使用它YEAR(CURDATE())来获取数据库端的当前年份.您不需要调用该函数 LAST_INSERT_ID两次,因为该值id应该相同(请参阅您WHERE的查询部分).