假设我有这个表结构:
CREATE TABLE bananas (
id INT AUTO_INCREMENT PRIMARY KEY,
name CHAR(127),
order INT
);
我希望行的初始顺序字段与插入序列匹配,所以,order==id
现在,我可以使用一些伪值进行插入,检查它得到了什么id,然后更新行,但这看起来很愚蠢。如何在插入时实现这一点?
INSERT INTO bananas (name, order) VALUES ($name, ???);
1条答案
按热度按时间k7fdbhmy1#
在运行
INSERT
,可以使用函数LAST_INSERT_ID
恢复上次成功插入的记录的id并运行UPDATE
查询:这个db小提琴演示了它是如何工作的。
ps:列名
order
与相应的sql关键字冲突,我重命名了该列ord
在密码里。