2010-01-16 61 views
1

我得到一個錯誤:爲什麼我不能表達這個子查詢?有其他選擇嗎?

Subqueries are not allowed in this context. Only scalar expressions are allowed.

爲什麼子查詢不允許?我只是試圖將一些值移到同一數據庫中的另一行。這有很快的表達方式嗎?(它只是一個一次性操作...)

INSERT INTO 
    Html_Content (pageid, html_content) 
VALUES 
    (20, (SELECT page_text FROM pages WHERE pageid = 29)) 

回答

7

更改您的查詢:

INSERT INTO 
    Html_Content (pageid, html_content) 
SELECT 
    20, page_text FROM pages WHERE pageid = 29 

的理由是,這格式是您希望在需要將子查詢的內容放入另一個表格時使用的格式。您收到標量錯誤,因爲通過使用Values選項,您告訴SQL您爲每列插入了謹慎的值,並且只插入一行。

2

這樣來做:

INSERT INTO 
    Html_Content (pageid, html_content) 
VALUES 
    SELECT 20, page_text FROM pages WHERE pageid = 29 
相關問題