2017-08-02 126 views
1

現在,我有兩個不同的數據庫表,也就是不同的表結構,衆所周知,這是兩個相同的項目,將其命名爲新舊,舊項目有一些用戶模塊,它已經有一些用戶數據,如何導出舊用戶表數據並導入新用戶表數據。有工具或PHP代碼可以做到這一點?更多的模塊會這樣做。不同表結構中的mysql數據同步

謝謝。

回答

1

您可以使用SQL INSERT INTO SELECT如:

INSERT INTO Customers (CustomerName, ContactName, Address, City, PostalCode, Country) 
SELECT SupplierName, ContactName, Address, City, PostalCode, Country FROM Suppliers; 

上面的例子是在同一個模式兩個表。如果您的表格處於單獨的模式中,則應該在查詢中添加預先修復的schema_name.table_name。 參考:https://www.w3schools.com/sql/sql_insert_into_select.asp

+0

如果這些表有關係,比如我插入到用戶表中的一行,那麼我需要這個自動遞增的id來充當uid,子表需要這個uid和一些其他的舊數據變成排,怎麼辦?換句話說,我可以直接使用舊的uid插入新的用戶表,也許這不是個好主意。 – Carey

+0

@Carey:據我所知,你想把舊桌子的UID移到新桌子。在這種情況下,您可以直接使用舊的uid插入新用戶表。另一方面,您可以爲自動增量的新表創建id,併爲舊錶數據創建uid。 –