经验>新手,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

tablecolors必须通过替换上述颜色(用一些标签调味)将其数据贡献给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/

10-12 15:07