我有一个名为 sort
的表列,用于对行(1 2 3...等)进行排序。
当我插入一个新行时,如何在该列中自动添加一个增量+1
?
例如,如果最后一行值为 20,则新行应为 21。
我试图将此列设置为自动递增,但 phpMyAdmin 说只有一列可以是 auto
(在我的例子中是 id
)。
另一种解决方案是将新行作为第一行插入,在排序列中使用值 1
,但在这种情况下我如何更改下面的所有其他值?
有什么帮助吗?
try {
$stmt = $db->prepare('INSERT INTO ' . $table. ' (title, content, sort) VALUES (:title, :content, :sort)') ;
$stmt->execute(array(
':title' => $title,
':content' => $content,
':sort' => ???,
));
header('Location:admin.php');
exit;
} catch(PDOException $e) {
echo $e->getMessage();
}
最佳答案
试试这个查询
"INSERT INTO $table (title, content, sort) VALUES ($title, $content,(SELECT MAX(sort)+1 FROM $table))"
关于php - 如何在排序列中添加 +1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38203122/