我不想使用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']));
你能告诉我应该是什么代码吗?
1条答案
按热度按时间zzlelutf1#
编辑:正如上面一位评论者所指出的;不建议在mysql数据库中没有主键
您的sql查询错误。您需要分别有列和值。
$sql=“插入检查表((选择max(checklist_id)+1),checklist_name)值(null,:checklist_name)”;
要使insert语句正确,请查看文档
所以为了使你的陈述正确,你必须切换一些变量
带有绑定值的数组如下所示
如果您对任何sql语法有问题,可以查看文档或教程。