我在同一个数据库中有两个表。我想将一些信息从一张桌子传递到另一张桌子。
在第一个表“产品”中,我有 products_id、products_length、products_width 和 products_height,我想将该表中的所有信息传递给名为“product”的第二个表。
第二个表“产品”具有以下列product_id、长度、宽度和高度。
在这两个表中,产品是相同的,并且它们具有相同的 ID NUMBER。
我只需要有关如何将值从“产品”插入“产品”的帮助。
我在同一个数据库中有两个表。我想将一些信息从一张桌子传递到另一张桌子。
在第一个表“产品”中,我有 products_id、products_length、products_width 和 products_height,我想将该表中的所有信息传递给名为“product”的第二个表。
第二个表“产品”具有以下列product_id、长度、宽度和高度。
在这两个表中,产品是相同的,并且它们具有相同的 ID NUMBER。
我只需要有关如何将值从“产品”插入“产品”的帮助。
尝试这个:
CREATE TABLE product LIKE products;
INSERT INTO product SELECT * FROM products;
你真的应该考虑改进你的计划。你有很多重复的信息,这将导致性能和维护地狱。表 products 不应存储给定产品的信息,而应仅具有第二个表产品中产品的外键。
尝试:
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
如果要插入产品的所有记录,可以删除子句。
你只是问这个吗?
INSERT INTO
product (product_id, length, width, height)
SELECT
products_id
,products_length
,products_width
,products_height
FROM
products
如果你只是想迁移数据,你可以只复制表吗?或者重命名它和列?
首先,我建议您改进您的数据库架构 - 您复制一些信息。
但要回答你可以使用:
INSERT INTO product (product_id, length, width, height)
SELECT products_id ,products_length ,products_width ,products_height FROM products
另一种选择是复制表,重命名它,然后重命名你的列?
参考文档: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
在复制数据之前,还要验证两个表的架构。