经验>新手,68/m
MySQL>5.5.46-0+deb7u1
数据库>服装
有两个表>femme PRIMARY=id,colors PRIMARY=c\u id
我需要修改(或更新)下表femme
id Name Fav_Colors City
1 Joe red Athens
1 Rea grey Rome
table
colors
必须通过替换上述颜色(用一些标签调味)将其数据贡献给table femme:c_id Name Pref_Color City City_color
1 Joe yellow Athens blue
2 Rea green Rome black
当
femme
在开始时被截短(d)时,一切正常,因此修改后的femme
表如下:TRUNCATE TABLE `femme`;
REPLACE INTO `femme`(`id`, `name`, `Fav_Colors`, `City`)
SELECT
CONCAT ('
c_id,
Name,
<div>', colors.Pref_Color, ' - ', colors.City_color,'"</div>',
City
')
from colors;
id Name Fav_Colors City
1 Joe <div>yellow - blue</div> Athens
1 Rea <div>green - black</div> Rome
我只需要替换
Fav_Colors
列就可以了,但是以下操作不起作用:REPLACE INTO `femme`(`Fav_Colors`)
SELECT
CONCAT ('
<div>', colors.Pref_Color, ' - ', colors.City_color,'"</div>'
')
from colors;
你能帮忙找到解决这个问题的方法吗?谢谢您。
最佳答案
看起来你需要一个简单的UPDATE
。femme.id
是否总是对应于colors.c_id
?如果是,您可以:
UPDATE femme
JOIN colors ON femme.id = colors.c_id
SET femme.Fav_Colors =
CONCAT('<div>', colors.Pref_Color, ' - ', colors.City_color,'</div>')
关于mysql - mySQL更新列与另一个表的连接,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33767213/