假设我有一个名为groupID的专栏,它是给一组人的一个数字。基本上,我要做的就是从该列中获取最大值,添加1并将该输入存储到php中的变量中。
例如,如果最后一个组的id是5,那么下一个组的id应该是6。有什么想法吗?
$gid = $link->prepare("SELECT MAX(Group_ID) FROM Conference");
$gid->execute();
$groupid = $gid->fetchColumn();
$stmt = $link -> prepare("INSERT INTO Conference (`Group_ID`) VALUES (:groupid)");
$stmt->bindParam(':groupid', $groupid);
$stmt->execute();
最佳答案
使用AUTO_INCREMENT
列会简单得多,因为您根本不必关心这个问题。
若要手动解决此问题,SELECT MAX(id) FROM table
将为您提供当前使用的最大id,并在其中添加+1将实现目标。这很容易受到竞争条件的影响(如果两个客户这样做并从MAX()
?获得相同的值怎么办?),但恢复模式非常简单:重复直到成功。