MySQL使用连接表中的值更新单个表上的查询

时间:2014-04-28 06:54:11

标签: mysql join sql-update

我有两个名为:

的表
url_alias
product

url_alias TABLE包含以下字段:idquerykeyword

id是数字,

query的格式为"product_id=45"

keyword的格式为"product-actual-name-in-url-friendly-manner"

product表格包含以下字段:product_idnamelanguage_id

我想要的是使用正确的url友好字符串更新url_alias"keyword"字段,该字符串是我使用mysql REPLACE函数生成的,并且别名为NEW_KEYWORD,但url友好字符串需要是自动的从两个表的连接生成。

以下查询正确显示对表的SELECT查询:

SELECT u.url_alias_id, u.query, u.keyword, p.name, REPLACE( p.name, ' ', '-' ) AS NEW_KEYWORD
FROM url_alias u, product p
WHERE u.query = CONCAT( "product_id=", p.product_id )
AND p.language_id =3  

请使用此查询帮助我更新查询

1 个答案:

答案 0 :(得分:1)

试一试:

UPDATE url_alias u 
JOIN product p 
ON u.query = CONCAT( "product_id=", p.product_id ) 
SET u.keyword=REPLACE( p.name, ' ', '-' ) 
WHERE p.language_id =3;