使用相同的ID NUMBERS将值从一个表INSERT到另一个表

时间:2013-05-17 18:55:39

标签: mysql

我在同一个数据库中有两个表。我想将一些信息从一张桌子传递给另一张桌子。

在第一个表“products”中,我有products_id,products_length,products_width和products_height,我想将该表中的所有信息传递给第二个名为“product”的信息。

第二个表“product”包含以下列product_id,lenght,width和height。

在两个表中,产品都是相同的,并且它们具有相同的ID号。

我只需要帮助解决如何将“产品”中的值插入“产品”的问题。

6 个答案:

答案 0 :(得分:3)

试试这个:

CREATE TABLE product LIKE products;
INSERT INTO product SELECT * FROM products;

答案 1 :(得分:1)

你应该考虑改进你的计划。你有很多重复的信息,这将导致性能和维护地狱。表产品不应存储给定产品的信息,而应仅具有第二个表产品中产品的外键。

答案 2 :(得分:0)

尝试:

INSERT INTO product VALUES (product_id, lenght, width, height)
  SELECT products_id, products_lenght, products_width, products_height 
  FROM products
  WHERE products_id=3

如果要插入所有产品记录,可以删除WHERE子句。

答案 3 :(得分:0)

你只是要求这个吗?

INSERT INTO
    product (product_id, length, width, height)
SELECT
    products_id
    ,products_length
    ,products_width
    ,products_height
FROM
    products

如果您只是尝试迁移数据,是否可以复制表格?或者重命名它和列?

答案 4 :(得分:0)

首先,我建议你改进数据库架构 - 复制一些信息。

但回答你可以使用:

INSERT INTO product (product_id, length, width, height) 
SELECT products_id ,products_length ,products_width ,products_height FROM products

另一种选择是复制表,重命名表,然后重命名列?

答案 5 :(得分:0)

请参阅文档:http://dev.mysql.com/doc/refman/5.0/en/insert-select.html

并使用:

INSERT INTO product (product_id, length, width, height) 
SELECT products_id ,products_length ,products_width ,products_height 
FROM products 

在复制数据之前,还要验证两个表的架构。