有人能告诉我为什么这个查询不起作用?我有20k行要更新。 select查询返回行,但Update查询将不会运行。
更新查询
UPDATE TEST_shoe_data t
INNER JOIN shoe_data_temp s
ON t.sku = s.sku
SET t.thumbnail = s.thumbnail
WHERE t.thumbnail like '%4x.jpg%'
选择查询
select count(*)
from TEST_shoe_data
where thumbnail like '%4x.jpg%'
答案 0 :(得分:1)
您的查询没问题。您的数据很可能不是您认为的那样。
正如您在此demo fiddle中所看到的,您的查询语法很好,并且它完全按照它的说法执行。
这意味着您的加入条件可能不对。
确实
select count(*) from test_shoe_data t inner join shoe_data_temp s on t.sku = s.sku
返回正数?
怎么样:
select count(*) from test_shoe_data t inner join shoe_data_temp s on t.sku = s.sku where t.thumbnail like '%4x.jpg%'
或者是否有任何行匹配where条件?
select count(*) from test_shoe_data where thumbnail like '%4x.jpg%'
答案 1 :(得分:0)
您的查询有效。你有什么问题?
http://sqlfiddle.com/#!9/6965f/1
UPDATE TEST_shoe_data t
INNER JOIN shoe_data_temp s
ON t.sku = s.sku
SET t.thumbnail = s.thumbnail
WHERE t.thumbnail like '%4x.jpg%'