2012-01-23 60 views
1

對於下面的語句:加載數據庫條目... INSERT

INSERT INTO main_app_provider (provider) 
VALUES ((SELECT distinct(provider) FROM raw_financials)); 

我得到一個"subquery returns more than one row"

看來上面是試圖做一個單行插入。我如何將它加載到多行的表中(即,每個provider都插入到一個新行中)?

+0

它試圖插入一行.. – hanzolo

+0

作爲參考,MySQL手冊顯示['INSERT ... SELECT']的正確語法(http://dev.mysql.com/doc/ refman/5.1/en/insert-select.html)以及MySQL支持的所有其他語句。 – outis

回答

5

刪除VALUES關鍵字。圍繞SELECT的括號也不是嚴格需要的。

INSERT INTO main_app_provider (provider) SELECT distinct provider FROM raw_financials; 

查看MySQL INSERT syntax reference的全部細節。

1

正確的語法是不values

INSERT INTO main_app_provider (provider) 
    SELECT distinct(provider) 
    FROM raw_financials 
0

試試這個。

INSERT INTO main_app_provider(provider) SELECT distinct(provider)as Provider FROM raw_financials;