我收到错误:
在此上下文中不允许使用子查询。只允许使用标量表达式。
为什么不允许子查询?我只是想将一些值移到同一数据库中的另一行。还有另一种表达方式吗? (这只是一次性操作......)
INSERT INTO
Html_Content (pageid, html_content)
VALUES
(20, (SELECT page_text FROM pages WHERE pageid = 29))
答案 0 :(得分:7)
将您的查询更改为:
INSERT INTO
Html_Content (pageid, html_content)
SELECT
20, page_text FROM pages WHERE pageid = 29
推理是,只要您需要将子查询的内容放到另一个表中,就可以使用此格式。您收到标量错误,因为通过使用“值”选项,您告诉SQL您要为每列插入谨慎值,并且只插入一行。
答案 1 :(得分:2)
这样做:
INSERT INTO
Html_Content (pageid, html_content)
VALUES
SELECT 20, page_text FROM pages WHERE pageid = 29