You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MySQL如何通过SELECT语句批量插入多行?#1064语法错误求助

解决MySQL INSERT...SELECT的1064语法错误

这是个很常见的INSERT...SELECT语法误用问题,咱们直接来拆解修复:

问题根源

你的SQL同时混用了VALUES()子句和SELECT查询,这不符合MySQL的语法规范——VALUES是用来插入具体常量值的,而通过查询结果批量插入时,完全不需要VALUES这一部分。

修正后的SQL语句

删掉多余的VALUES (product_id, serial_numnber, ...)部分即可,正确写法如下:

INSERT INTO unique_products (product_id, serial_numnber, pronexo_code, entry_time, exit_time, guarantee_long, expanded_guarantee_long)
SELECT product_id, serial_number, pronexo_code, start_guarantee_date, start_guarantee_date, guarantee_long, expanded_guarantee_long 
FROM table_24;

额外注意事项

  • 注意字段拼写一致性:你原SQL里的serial_numnber(多了一个n)和SELECT中的serial_number要统一,避免字段不匹配错误
  • 确保unique_products的字段顺序、数据类型和table_24查询返回的结果完全对应,否则可能出现数据类型不兼容问题
  • 如果unique_products有自增主键或带默认值的字段,可在INSERT INTO后的字段列表中省略它们,让数据库自动处理

内容的提问来源于stack exchange,提问作者Martin AJ

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.22 09:23:49