insert into A(id,sid) values(111111,(select case when max(sid) IS NULL then '1' else max(sid)+1 end from A)) 这里要考虑到数据库表内无数据,所以使用max(sid)要先判断下它是否为空,是空就赋值为1,不是空就在max(sid)的基础上+1, 还有就是你的SELECT语句是作为一个值来进行插入的,所以要用括号括上
sql 插入数据取sid最大值加一保存
最新推荐文章于 2026-03-26 02:21:50 发布
本文介绍了一种在SQL中实现自增ID的方法,通过判断表中数据是否存在来决定新插入记录的ID值。若表为空,则ID设为1;否则,在已有最大ID基础上加1。此外,还强调了SELECT语句作为值插入时需正确使用括号。

1649

被折叠的 条评论
为什么被折叠?



