對於下面的語句:加載數據庫條目... INSERT
INSERT INTO main_app_provider (provider)
VALUES ((SELECT distinct(provider) FROM raw_financials));
我得到一個"subquery returns more than one row"
。
看來上面是試圖做一個單行插入。我如何將它加載到多行的表中(即,每個provider
都插入到一個新行中)?
對於下面的語句:加載數據庫條目... INSERT
INSERT INTO main_app_provider (provider)
VALUES ((SELECT distinct(provider) FROM raw_financials));
我得到一個"subquery returns more than one row"
。
看來上面是試圖做一個單行插入。我如何將它加載到多行的表中(即,每個provider
都插入到一個新行中)?
刪除VALUES
關鍵字。圍繞SELECT
的括號也不是嚴格需要的。
INSERT INTO main_app_provider (provider) SELECT distinct provider FROM raw_financials;
查看MySQL INSERT
syntax reference的全部細節。
正確的語法是不values
:
INSERT INTO main_app_provider (provider)
SELECT distinct(provider)
FROM raw_financials
試試這個。
INSERT INTO main_app_provider(provider) SELECT distinct(provider)as Provider FROM raw_financials;
它試圖插入一行.. – hanzolo
作爲參考,MySQL手冊顯示['INSERT ... SELECT']的正確語法(http://dev.mysql.com/doc/ refman/5.1/en/insert-select.html)以及MySQL支持的所有其他語句。 – outis