如何在INSERT操作中进行SELECT?
insert into tableX (a_id, b_id)
VALUES ((SELECT service_id
FROM tableY
WHERE id = 10, 2));
Run Code Online (Sandbox Code Playgroud)
但得到一个错误..那里有什么问题?
谢谢
Dav*_*sta 44
虽然我的原始答案提供了一个有效的解决方案,但实际上我错误的原因是错误的.在VALUES子句中使用标量子查询没有任何问题.问题陈述的问题只是一个括号出错了; 标量子查询必须括在括号中.
这应该工作:
insert into tableX (a_id, b_id)
VALUES (
(SELECT service_id
FROM tableY
WHERE id = 10)
, 2
);
Run Code Online (Sandbox Code Playgroud)
原始答案
VALUES只能与文字值一起使用.但是,可以在子查询中使用文字值.做这个:
insert into tableX (a_id, b_id) SELECT service_id, 2 FROM tableY WHERE id = 10
Run Code Online (Sandbox Code Playgroud)
Cha*_*ndu 11
您不需要值关键字,也可以在选择列表中为b_id列添加默认值2,而不是在SELECT语句后添加它
试试这个:
INSERT INTO tableX (a_id, b_id)
SELECT service_id, 2
FROM tableY
WHERE id = 10
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
49627 次 |
| 最近记录: |