MYSQL更新表查询

时间:2012-12-21 00:36:34

标签: mysql phpmyadmin

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);

1 个答案:

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

相关问题