MySQL INSERT在同一个表上使用带有COUNT()的子查询
|
我无法正确执行INSERT查询,而且我似乎无法在Google或Stack Overflow上找到解决此特定问题的任何内容. 我正在尝试为特色条目创建一个简单的表,其中entry_id与它的当前顺序一起保存到表中. 我想要的输出是这样的: 如果特色表目前有这三个条目:
我希望使用featured_order = 3保存下一个条目. 我试图让以下查询工作没有运气:
我得到的错误是:您不能在FROM子句中为更新指定目标表’featured’. 任何人都可以帮助获得计数而不会导致错误的解决方案吗? 提前致谢! 最佳答案 这是一件很酷的事:MySQL的INSERT . . . SELECT:
不需要子查询. @Bohemian有一个好点:
所以更好的查询可能是:
他的触发方法在他的回答中描述也是实现你想要的好方法. 查询1的潜在问题是,如果您删除了一行,则排名将被删除,并且您将在featured_order中重复.使用第二个查询这不是问题,但是您将有间隙,就像使用自动增量列一样. 如果您绝对必须拥有无间隙的订单,我所知道的最佳解决方案是运行以下一系列查询:
每当你删除一行 (编辑:长春站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- Mysql学习mysql修改自增长主键int类型为char类型示例
- php – 通过单击链接发送AJAX请求,而无需重定向用户
- 优化SQL查询以避免全表扫描
- 在datetime c#中格式化字符串以在MYSQL datetime列中插入
- mysql – Doctrine 2 DQL CONCAT字段和常量字符串
- 在PHP中以逗号分隔值列表运行select
- Mysql实例MySQL中truncate误操作后的数据恢复案例
- 按照cakephp group by table的格式在核心php中检索数据
- mysql – LIMIT 1是否有任何性能提升?
- 安装MySQL Workbench但文件/etc/my.cnf不存在
