2013-03-23 75 views
0

如何在一个table1.field3中查找/替换与另一个table2.field2相匹配的所有值,使用类似于通配符字符串的table2.field2的循环匹配table1 .field1如何在MySQL中查找/替换

就像这样。

UPDATE productsTable.color 
SET x = (
    SET productsTable.Color = colorstable.`name` 

WHERE productsTable.ShortDescription LIKE colorstable.%`nameOfColor`%'; 
) 
+0

什么???请发布样本输入数据和输出数据。很难理解你的需求。 – 2013-03-23 01:21:42

+2

如果您正确构建查询,则SQL中很少需要循环。 – 2013-03-23 01:22:09

回答

1

你应该能够实现这一目标,而无需使用一个循环:

UPDATE productsTable, colorstable 
    SET productsTable.color = colorstable.name 
WHERE productsTable.shortdescription LIKE CONCAT('%',colorstable.name,'%');