【发布时间】:2019-03-04 23:59:59
【问题描述】:
假设我有一个表 SomeTable 和一个 INT 列。
这个查询工作正常:
INSERT INTO SomeTable
(SELECT 1 WHERE true)
UNION
(SELECT 2 FROM SomeTable WHERE true)
但这会产生语法错误:
INSERT INTO SomeTable
(SELECT 1 WHERE true)
UNION
(SELECT 2 WHERE true)
错误代码:1064。您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 4 行的“WHERE true)”附近使用正确的语法
错误的原因是什么?
我如何使用WHERE 过滤器插入多行?
【问题讨论】:
-
去掉括号。
-
@jarlh 在 MySQL 中使用带有 UNION 的括号是允许的,对吗?至少如果您重新格式化查询,请参阅this
-
当您寻求错误帮助时,您应该包含确切的错误消息。
-
你想完成什么?
-
@GordonLinoff 避免根据某些条件插入某些行(此处简化为
true)。
标签: mysql sql sql-insert insert-into