从一列复制到另一列(不同的表相同的数据库)mysql

时间:2011-12-15 21:28:30

标签: mysql database

您好我想将表IName下的列Item中的全部内容复制到属于同一数据库的表Item下的列Name。

我提供以下查询,但它会抛出错误,指出子查询返回了多个记录。 (大约有600条记录)

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

由于

3 个答案:

答案 0 :(得分:9)

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

好的,上面也可以使用多列表,只要所有其他 - 在INSERT语句中没有明确说明 - 列已定义为DEFAULT值或AUTO_INCREMENT


INSERT ... SET语法仅在MySQL中有效,只有在您想要准确插入一行时才能使用:

INSERT INTO table 
  SET column = value1 ;

相当于:

INSERT INTO table (column)
  VALUES (value1) ;

答案 1 :(得分:4)

INSERT INTO Item (name)
SELECT Item FROM IName

Link

答案 2 :(得分:3)

INSERT INTO table_one (column1) SELECT column2 FROM table_two

请参阅MySQL Ref