0

MYSQL更新查询

我需要将值从一个表更新到另一个表并创建值(如果它们不存在)如何为所有值或从一个 ID 到另一个 ID 的表单值执行此操作

这是查询,但我需要为每个 ID 运行它,这是很多工作,所以有没有更简单的方法?

所以 id_product 总是一样的

`

INSERT INTO ps_product_supplier 
(id_product_supplier, id_product, id_product_attribute, id_supplier,
product_supplier_reference, product_supplier_price_te, id_currency)  
VALUES(NULL, 6216, 0, (SELECT id_supplier FROM ps_product WHERE id_product = 6216,
(SELECT supplier_reference FROM ps_product WHERE id_product = 6216), 
(SELECT wholesale_price FROM ps_product WHERE id_product = 6216), 3);
4

1 回答 1

3

使用INSERT...SELECT语法:

INSERT IGNORE INTO ps_product_supplier 
(id_product_supplier, id_product, id_product_attribute, id_supplier,
product_supplier_reference, product_supplier_price_te, id_currency)  
SELECT NULL, id_product, 0, id_supplier, supplier_reference, wholesale_price, 3
FROM ps_product

该关键字IGNORE将允许查询仅插入目标表中尚不存在的记录。只有当您的目标表在字段上有主键(或唯一键)时,它才会起作用id_product_supplier

于 2012-12-21T00:41:53.900 回答