2016-02-18 155 views
0

我在MySQL中創建了一個擁有大量表的數據庫。我希望一個表的值自動保存在另一個表上。如何在MySQL中將數據從一個表複製到另一個表中?

例如,我寫了一些:table1.lastname,我想這也存儲在table2.lastname中。

這是如何調用的,以及如何使用PHP My Admin做到這一點?

+0

你可以通過觸發器做到這一點 –

+0

任何進一步的信息?? – Leonidas

+0

如果您告訴我們目的,有人可能會提供更好的解決方案。 –

回答

0
CREATE TABLE new_table_name LIKE old_table_name 

Create trigger after_insert on new_table 
like this 

CREATE TRIGGER `AFTER_INSERT` AFTER INSERT ON `new_table_name` FOR EACH ROW BEGIN 

insert into new_table_name (column_names) values (column_values) ; 

END 
+0

你好, 我想將db1中的姓氏複製到db2中的姓氏。 你能告訴我如何語法? – Leonidas

+0

SET database2.table1.columnA TO database1.table1.columnA WHERE database2.id = database1.id – Priyanshu

+0

謝謝! 我究竟在哪裏運行?就像一個簡單的SQL查詢? – Leonidas

-1

這會做你想要什麼:

INSERT INTO table2 (lastname) 
SELECT lastname 
FROM table1 

如果你想包括表1中的所有行。否則,如果您只想添加table1的子集,則可以將WHERE語句添加到最後。

我希望這會有所幫助。


如果該表不存在,你可以創建一個具有相同的架構,如下所示:

CREATE TABLE table2 LIKE table1; 

然後,將數據複製過來:

INSERT INTO table2 SELECT * FROM table1 

或者如果表中有你也可以在不同的結構:

INSERT INTO table2 (`col1`,`col2`) SELECT `col1`,`col2` FROM table1; 

編輯:限制此..

INSERT INTO table2 (`col1_`,`col2_`) SELECT `col1`,`col2` FROM 
table1 WHERE `foo`=1 
+0

你好, 到目前爲止,我剛剛在MySQL中創建表。沒有別的, 我該怎麼做? – Leonidas

+0

他沒有在尋找一個PHP解決方案,他可能想要一個SQL解決方案,使其自動化。 – Phiter

+0

http://stackoverflow.com/questions/8754607/i-want-to-copy-table-contained-from-one-database-and-insert-onto-another-databas –

0

首先,您必須創建數據存儲表。 然後,您必須在想要的表上爲catch事件創建觸發器,並在早期創建的表中插入數據。

相關問題