MySQL INSERT在同一个表上使用带有COUNT()的子查询
|
我无法正确执行INSERT查询,而且我似乎无法在Google或Stack Overflow上找到解决此特定问题的任何内容. 我正在尝试为特色条目创建一个简单的表,其中entry_id与它的当前顺序一起保存到表中. 我想要的输出是这样的: 如果特色表目前有这三个条目:
我希望使用featured_order = 3保存下一个条目. 我试图让以下查询工作没有运气:
我得到的错误是:您不能在FROM子句中为更新指定目标表’featured’. 任何人都可以帮助获得计数而不会导致错误的解决方案吗? 提前致谢! 最佳答案 这是一件很酷的事:MySQL的INSERT . . . SELECT:
不需要子查询. @Bohemian有一个好点:
所以更好的查询可能是:
他的触发方法在他的回答中描述也是实现你想要的好方法. 查询1的潜在问题是,如果您删除了一行,则排名将被删除,并且您将在featured_order中重复.使用第二个查询这不是问题,但是您将有间隙,就像使用自动增量列一样. 如果您绝对必须拥有无间隙的订单,我所知道的最佳解决方案是运行以下一系列查询:
每当你删除一行 (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- Mysql入门mysqld-nt: Out of memory (Needed 167
- 我可以在两台使用PHP的不同服务器上使用MySql Cr
- Oracle SQL*PLUS - 删除当前用户的所有对象
- on duplicate key update简单使用
- MYSQL教程Mysql安装 Navicat 出现1044/1045错误的
- SQL with rollup 、with cube、grouping 统计函数
- Mysql应用Mysql表,列,库增删改查问题小结
- Mysql学习开启bin-log日志mysql报错的解决方法
- 交叉制表-验证对象的存在(3)
- Mysql实例master and slave have equal MySQL se
