pdo insert max id+1非自动增量

ffx8fchx  于 2021-06-20  发布在  Mysql
关注(0)|答案(1)|浏览(362)

我不想使用mysql的auto increment,但是我想得到max id+1作为下一个数据的id插入。
我试着在执行之前通过pdo获取自动增量id,但没有成功。

$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']));

你能告诉我应该是什么代码吗?

zzlelutf

zzlelutf1#

编辑:正如上面一位评论者所指出的;不建议在mysql数据库中没有主键
您的sql查询错误。您需要分别有列和值。
$sql=“插入检查表((选择max(checklist_id)+1),checklist_name)值(null,:checklist_name)”;
要使insert语句正确,请查看文档

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)

带有绑定值的数组如下所示

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

如果您对任何sql语法有问题,可以查看文档或教程。

相关问题