如何在INSERT操作中进行SELECT?
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) VALUES ( (SELECT service_id FROM tableY WHERE id = 10),2 );
原始答案
值只能与文字值一起使用.然而,字面值可以在子查询中使用.做这个:
insert into tableX (a_id,b_id) SELECT service_id,2 FROM tableY WHERE id = 10