假设数据库test表有3个字段
id(自增)
name
order
现在要插入一条数据 让order 和 id 的值相等
我是 先插入一条数据 再获取到插入的id然后 update 将order设成id值有没有办法插入的时候就让id 和order相等
还是先 select max(id) from test 再执行插入?
这种情况一定要两条语句才能搞定吗?
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
你的这个设计不合理,看得出来你这个order是用来作为排序字段的,并且希望有人工调整的余地,而不是简单的设计成按照主键排序,那这样的话你在select的时候直接用order by order
, id
就解决了这个问题,这样的话order字段只要有一个默认值就可以了,例如10000,优先用此字段排序,然后用id排序当然还有记得加索引