2011-12-15 132 views
2

嗨我想複製從表名下的列項目的全部內容到屬於同一個數據庫的表項目下的列名稱。從一列複製到另一列(不同的表相同的數據庫)mysql

我給出以下查詢,但它引發錯誤,指出子查詢返回多個記錄。 (大約有600條記錄)

Insert into Item set name = (Select Item from IName) 

感謝

+0

你需要在你的子查詢中添加一個匹配(id或類似的記錄匹配兩個表) – Teson 2011-12-15 21:30:25

+0

第一個表是完全空白的。所以我不能添加一個匹配 – Ank 2011-12-15 21:31:02

+0

如果第一個表是完全空的,那麼也許SELECT INTO會起作用。 – Aaron 2011-12-15 21:33:16

回答

8
INSERT INTO Item (Name) 
    SELECT Item 
    FROM IName 

當你要插入一個單列*表,INSERT作品要麼:

INSERT INTO table (column) 
    VALUES (value1),(value2), ... (valueN) ; 

或:

INSERT INTO table (column) 
    SELECT a_column 
    FROM a_table 
         --- optional (multiple) JOINs 
         --- and WHERE 
         --- and GROUP BY  
         --- any complex SELECT query 

OK,上面可以有一個多列工作表中,只要所有其他 - 在INSERT語句中未明確說明 - 列已被定義爲DEFAULT值或AUTO_INCREMENT


INSERT ... SET語法是有效的MySQL中只有當你要插入的具體哪一行只能用於:

INSERT INTO table 
    SET column = value1 ; 

等同於:

INSERT INTO table (column) 
    VALUES (value1) ; 
4
INSERT INTO Item (name) 
SELECT Item FROM IName 

Link

相關問題