我在同一个数据库中有两个表。我想将一些信息从一张桌子传递给另一张桌子。
在第一个表“products”中,我有products_id,products_length,products_width和products_height,我想将该表中的所有信息传递给第二个名为“product”的信息。
第二个表“product”包含以下列product_id,lenght,width和height。
在两个表中,产品都是相同的,并且它们具有相同的ID号。
我只需要帮助解决如何将“产品”中的值插入“产品”的问题。
答案 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
在复制数据之前,还要验证两个表的架构。