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);
答案 0 :(得分: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
上具有主键(或唯一键)时,它才有效。