遇到此查询时遇到问题:
UPDATE table1 t1 SET t1.custom_id=(SELECT t2.custom_id
FROM table2 t2 WHERE LOWER(t1.first_name)=LOWER(t2.first_name)
AND LOWER(t1.last_name)=LOWER(t2.last_name)
AND (t2.zip1 LIKE CONCAT('%',t1.zip,'%')
OR t2.zip2 LIKE CONCAT('%',t1.zip,'%')) LIMIT 1)
我三重检查了php变量是否与字段名称匹配。当我将它分成多个查询时,更新工作正常。
答案 0 :(得分:0)
您可能首先尝试搜索StackOIverflow以获得答案,但在您的情况下,这样的事情应该有效:
UPDATE table1 t1
join table2 t2 on
LOWER (t1.first_name) = LOWER (t2.first_name)
AND LOWER (t1.last_name) = LOWER (t2.last_name)
AND ( t2.zip1 LIKE CONCAT ('%', t1.zip, '%')
OR t2.zip2 LIKE CONCAT ('%', t1.zip, '%')) LIMIT 1)
SET custom_id = t2.custom_id