使用SELECT ... INSERT加载数据库条目

时间:2012-01-23 19:28:52

标签: mysql sql

以下陈述:

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

我得到"subquery returns more than one row"

以上似乎是尝试将INSERT插入单行。如何将其加载到多行的表中(即,每个provider插入一个新行)?

3 个答案:

答案 0 :(得分:5)

删除VALUES关键字。 SELECT周围的括号也不是严格要求的。

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

有关详细信息,请参阅MySQL INSERT syntax reference

答案 1 :(得分:1)

正确的语法没有values

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

答案 2 :(得分:0)

试试这个。

INSERT INTO main_app_provider(provider) 选择distinct(provider)作为Provider FROM raw_financials;