我在MySQL中創建了一個擁有大量表的數據庫。我希望一個表的值自動保存在另一個表上。如何在MySQL中將數據從一個表複製到另一個表中?
例如,我寫了一些:table1.lastname,我想這也存儲在table2.lastname中。
這是如何調用的,以及如何使用PHP My Admin做到這一點?
我在MySQL中創建了一個擁有大量表的數據庫。我希望一個表的值自動保存在另一個表上。如何在MySQL中將數據從一個表複製到另一個表中?
例如,我寫了一些:table1.lastname,我想這也存儲在table2.lastname中。
這是如何調用的,以及如何使用PHP My Admin做到這一點?
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
這會做你想要什麼:
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
首先,您必須創建數據存儲表。 然後,您必須在想要的表上爲catch事件創建觸發器,並在早期創建的表中插入數據。
你可以通過觸發器做到這一點 –
任何進一步的信息?? – Leonidas
如果您告訴我們目的,有人可能會提供更好的解決方案。 –