MySQL INSERT在同一个表上使用带有COUNT()的子查询
我无法正确执行INSERT查询,而且我似乎无法在Google或Stack Overflow上找到解决此特定问题的任何内容. 我正在尝试为特色条目创建一个简单的表,其中entry_id与它的当前顺序一起保存到表中. 我想要的输出是这样的: 如果特色表目前有这三个条目:
我希望使用featured_order = 3保存下一个条目. 我试图让以下查询工作没有运气:
我得到的错误是:您不能在FROM子句中为更新指定目标表’featured’. 任何人都可以帮助获得计数而不会导致错误的解决方案吗? 提前致谢! 最佳答案 这是一件很酷的事:MySQL的INSERT . . . SELECT :
不需要子查询. @Bohemian有一个好点:
所以更好的查询可能是:
他的触发方法在他的回答中描述也是实现你想要的好方法. 查询1的潜在问题是,如果您删除了一行,则排名将被删除,并且您将在featured_order中重复.使用第二个查询这不是问题,但是您将有间隙,就像使用自动增量列一样. 如果您绝对必须拥有无间隙的订单,我所知道的最佳解决方案是运行以下一系列查询:
每当你删除一行 (编辑:鄂州站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- php – 使用命名占位符设置PDO / MySQL LIMIT
- Mysql入门Mysql5.7.18版本(二进制包安装)自定义安装路径教
- MySql,有没有办法将Integer字段转换为Varchar而不会丢失数据
- 将数据从一列移动到另一个表MYSQL中的另一个类似列
- Mysql必读使用SQL实现小计,合计以及排序
- mysql – 将Django连接到代理服务器后面的数据库
- MySQL最佳实践:匹配前缀
- php – 获取PDO连接ID
- java – 使用Eclipse Link在JPA中映射Joda Time“Period”的
- Mysql必读MySQL4 File ‘c:mysqlsharecharsets?.conf’ not