2014-09-27 211 views
0

我有兩個表userspartners。它們都包含created_on字段,但該字段是新的,因此在partners表中爲空。 partners表中還有一個user_idpartner_id字段。 user_id字段是FK到users表。在MySQL中將值從一個表複製到另一個表

我需要的值從users表複製列created_on進入partnersfor each用戶WHERE partners.user_id = users.id

我想要做的是,在SQL(我的RDBMS是MySQL的),所以沒有PHP(如果可能)

(一些僞代碼跨更好地得到我的問題)

複製數據不是很好的做法,我知道,但我需要這種特定情況下

回答

1

你可以做到這一點使用update/join

update partners p join 
     users u 
     on p.user_id = u.id 
    set p.created_on = u.created_on; 
+0

並認爲我有一個完整的SQL課程...我想A +是不合理的:') – Ortixx 2014-09-27 19:54:40

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 
相關問題