在MySQL中将值从一个表复制到另一个表

时间:2014-09-27 19:41:09

标签: mysql sql

我有2个表userspartners。它们都包含created_on字段,但该字段是新的,因此在partners表中为空。 partners表格还有user_idpartner_id字段。 user_id字段是users表的FK。

我需要将created_on表格中users列的值复制到partnersfor each用户WHERE partners.user_id = users.id

我想在SQL(我的RDBMS是MySQL)中这样做,所以没有PHP(如果可能的话)

(一些伪代码可以更好地解决我的问题)

复制数据并不是一种好习惯,我知道,但我需要针对特定​​情况

2 个答案:

答案 0 :(得分:1)

您可以使用update / join

执行此操作
update partners p join
       users u
       on p.user_id = u.id
    set p.created_on = u.created_on;

答案 1 :(得分:0)

这样的事情

CREATE TABLE USERS
(
user_id int,
  created_on datetime
);
CREATE TABLE PARTNERS
(
partner_id int,
user_id int,
created_on datetime
);
insert into users (user_id, created_on) values (1,"2000-1-1");
insert into users (user_id, created_on) values (2, "2001-1-1");
insert into partners (partner_id, user_id, created_on) values (10,1,null);
insert into partners (partner_id, user_id, created_on) values (11,2,null);


Update Partners p
INNER JOIN users u
on p.user_id = u.user_id
Set p.created_on = u.created_on;

select * from partners