MySQL INSERT在同一个表上使用带有COUNT()的子查询
|
我无法正确执行INSERT查询,而且我似乎无法在Google或Stack Overflow上找到解决此特定问题的任何内容. 我正在尝试为特色条目创建一个简单的表,其中entry_id与它的当前顺序一起保存到表中. 我想要的输出是这样的: 如果特色表目前有这三个条目:
我希望使用featured_order = 3保存下一个条目. 我试图让以下查询工作没有运气:
我得到的错误是:您不能在FROM子句中为更新指定目标表’featured’. 任何人都可以帮助获得计数而不会导致错误的解决方案吗? 提前致谢! 最佳答案 这是一件很酷的事:MySQL的INSERT . . . SELECT:
不需要子查询. @Bohemian有一个好点:
所以更好的查询可能是:
他的触发方法在他的回答中描述也是实现你想要的好方法. 查询1的潜在问题是,如果您删除了一行,则排名将被删除,并且您将在featured_order中重复.使用第二个查询这不是问题,但是您将有间隙,就像使用自动增量列一样. 如果您绝对必须拥有无间隙的订单,我所知道的最佳解决方案是运行以下一系列查询:
每当你删除一行 (编辑:日照站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- mysql – 无法与liquibase gradle插件生成差异
- php – 使用带有symfony3的postgres数据库
- Mysql入门mysql like查询字符串示例语句
- mysql怎样用一条SQL实现有记录则更新,没有则添加
- MYSQL数据库Mysql help命令(帮助信息)中文注解
- php – SQL和Case Insensitive条件
- Mysql入门mssql2008 自定义表类型实现(批量插入或
- MYSQL数据库MySQL定期分析检查与优化表的方法小结
- 1130主机’amazon-ec2-ip’不允许连接到此MySQL服
- php – 清理整数时使用intval和real_escape_stri
