gpt4 book ai didi

mysql - PDO插入最大id+1而不是auto_increment

转载 作者:行者123 更新时间:2023-11-29 17:01:30 25 4
gpt4 key购买 nike

我不想使用mysql的自动增量,但我想获取max id+1作为下一个数据的ID插入。

我尝试这样做 How to get auto increment id by PDO before execute但运气不佳。

$sql = "INSERT INTO checklist ((SELECT MAX(checklist_id)+1), checklist_name ) VALUES (NULL, :checklist_name)";

$pdo_statement = $pdo_conn->prepare( $sql );

$result = $pdo_statement->execute ((array(':maxid'=>NULL,':checklist_name'=>$_POST['checklist_name']));

你能帮我看看它应该是什么代码吗?

最佳答案

编辑:正如上面一位评论者所指出的;不建议您的 MySQL 数据库中没有主键

您的 SQL 查询错误。您需要分别拥有列和值。

$sql = "INSERT INTO checklist ((SELECT MAX(checklist_id)+1), checklist_name ) VALUES (NULL, :checklist_name)";

要使您的 INSERT 语句正确,请查看 documentation

INSERT INTO table (column, column, etc.) VALUES (value, value, etc.)

因此,为了使您的陈述正确,您必须切换一些变量

INSERT INTO checklist (checklist_id, checklist_name) VALUES ((SELECT MAX(checklist_id)+1 FROM checklist), :checklist_name)

带有绑定(bind)值的数组将如下所示

array(':checklist_name' => $_POST['checklist_name'])

如果您对任何 SQL 语法有疑问,可以查看 documentationw3schools tutorials

关于mysql - PDO插入最大id+1而不是auto_increment,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52204324/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com