MYSQL-将数据从一个表移动到相关表?
我有两张桌子,结构如下:MYSQL-将数据从一个表移动到相关表?,mysql,Mysql,我有两张桌子,结构如下: table A: A_ID varchar(32) PRIMARY KEY field1 varchar(255) field2 varchar(255) B_ID varchar(32) table B: B_ID varchar(32) PRIMARY KEY field1 varchar(255) field2 varchar(255) A包含表B的外键(请注意,1b可能有多个A)。我想将表B
table A:
A_ID varchar(32) PRIMARY KEY
field1 varchar(255)
field2 varchar(255)
B_ID varchar(32)
table B:
B_ID varchar(32) PRIMARY KEY
field1 varchar(255)
field2 varchar(255)
A包含表B的外键(请注意,1b可能有多个A)。我想将表B中的数据插入到它的匹配表A中(目前表A中的每一行的字段1和字段2都是空的)。纯用MySQL有没有办法做到这一点?试试看
UPDATE `table_a` AS a
INNER JOIN `table_b` AS b ON ( a.`b_id` = b.`id` )
SET a.`field1` = b.`field1`, a.`field2` = b.`field2`
像这样的怎么样:
UPDATE `table A`, `table B` SET `table A`.field1 = `table B`.field1, `table A`.field2 = `table B`.field2 WHERE `table B`.ID = `table A`.B_ID
编辑:没关系,我被打败了。所以表B也有一个ID varchar(32)PK?如果有一个B有多个a,a的数据应该写入B?只有一个可以赢。定义“移动”-您是要将数据添加到不存在的,还是要更新现有数据。。还是两者都有?@Konerak,是的,我更新了问题以反映这一点。我只是想写一个现实世界问题的简化示例,没有想到要把id列放进去。@OMG Ponies,为了澄清而编辑。