使用插入到选择中会导致选择附近的语法不正确,为什么?
如何在INSERT操作中进行SELECT?insert into tableX (a_id, b_id)
VALUES ((SELECT service_id
FROM tableY
WHERE id = 10, 2));
但是服务器返回语法错误,为什么?
SQL Error : Incorrect syntax near the keyword 'select'.
解决方案:
虽然我的原始答案给出了可行的解决方案,但实际上我对错误原因有误。在VALUES子句中使用标量子查询没有任何问题。问题中陈述的问题很简单,就是一个圆括号放在错误的位置。标量子查询必须用括号括起来。
这应该工作:
insert into tableX (a_id, b_id)
VALUES (
(SELECT service_id
FROM tableY
WHERE id = 10)
, 2
);
原始答案
VALUES只能与文字值一起使用。但是,可以在子查询中使用文字值。做这个:
insert into tableX (a_id, b_id) SELECT service_id, 2 FROM tableY WHERE id = 10
页:
[1]