0

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

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

第二个表“产品”具有以下列product_id、长度、宽度和高度。

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

我只需要有关如何将值从“产品”插入“产品”的帮助。

4

6 回答 6

3

尝试这个:

CREATE TABLE product LIKE products;
INSERT INTO product SELECT * FROM products;
于 2013-05-17T19:01:10.100 回答
1

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

于 2013-05-17T18:58:59.907 回答
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如果要插入产品的所有记录,可以删除子句。

于 2013-05-17T18:58:51.093 回答
0

你只是问这个吗?

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

如果你只是想迁移数据,你可以只复制表吗?或者重命名它和列?

于 2013-05-17T18:59:19.767 回答
0

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

但要回答你可以使用:

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

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

于 2013-05-17T19:00:57.837 回答
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 

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

于 2013-05-17T19:12:20.947 回答