Mysql 用LIKE更新

Mysql 用LIKE更新,mysql,Mysql,它给了我: #1064-您的SQL语法有错误;查看与您的MySQL服务器版本对应的手册,以了解可使用的正确语法,如第5行“%”p.locality“%”中的“FROM poblacion p WHERE jos|u ezrealty.alias”,请参阅 应该是这样的: UPDATE jos_ezrealty AS e JOIN poblacion p ON e.alias LIKE '%' || p.locality || '%' SET e.locid = p.id , e.

它给了我:

#1064-您的SQL语法有错误;查看与您的MySQL服务器版本对应的手册,以了解可使用的正确语法,如第5行“%”p.locality“%”中的“FROM poblacion p WHERE jos|u ezrealty.alias”,请参阅

应该是这样的:

UPDATE jos_ezrealty AS e
  JOIN poblacion p
    ON e.alias LIKE '%' || p.locality || '%'
SET e.locid = p.id
  , e.locality = p.locality
  , e.owncoords = 1 ;

你为什么要WHERE子句?它将以任何方式更新所有行。可能
像CONCAT(“%”,p.locality,“%”)一样
| |
是SQL连接运算符。谢谢。我不知道。。。对MYSQL来说不是常规的。虽然那只是他想要的一个字符。这给了我在poblacion第一排jos_ezrealty相同的位置和locid
UPDATE jos_ezrealty AS e
  JOIN poblacion p
    ON e.alias LIKE '%' || p.locality || '%'
SET e.locid = p.id
  , e.locality = p.locality
  , e.owncoords = 1 ;
UPDATE jos_ezrealty join poblacion 

SET jos_ezrealty.locid = p.id

,jos_ezrealty.locality = p.locality

,jos_ezrealty.owncoords = 1

WHERE jos_ezrealty.alias LIKE CONCAT('%', p.locality, '%');