MySQL 8.0.29中INSERT语句VALUES函数弃用警告消除方案咨询
解决MySQL VALUES()函数废弃警告问题
你的问题源于MySQL 8.0+版本中VALUES()函数已被标记为废弃,按照警告提示的方案,给查询结果添加别名并通过别名引用字段,即可消除该警告。
修改后的SQL语句如下:
INSERT INTO order_summary (product_id, num_orders) SELECT product_id, COUNT(product_id) AS num_orders FROM `order` GROUP BY product_id AS summary_data -- 为查询结果集添加别名 ON DUPLICATE KEY UPDATE num_orders = summary_data.num_orders; -- 通过别名引用统计字段
关键说明:
- 给
SELECT语句的结果集添加别名summary_data,满足MySQL对废弃VALUES()函数后的替代要求 - 在更新子句中直接通过别名
summary_data引用统计得到的num_orders值,逻辑与原语句完全一致,同时规避了废弃函数的使用
内容的提问来源于stack exchange,提问作者Blade Runner
相关产品推荐
相关产品推荐

