簡體   English   中英

如何在MySQL ..中自動將一個表的值加載到另一個表?

[英]How to load values of one table to another automatically in MySQL..?

有一個現有的表A。假設我想使用外鍵將現有表A的所有或特定(列)值添加到表B,我該如何在MySQL中做到這一點? 如果表A中有任何新的插入或更新,它也應自動插入表B中。

要自動從表A中的更改更新表B,將需要MySQL支持的觸發器,而phpMyAdmin不支持。 相反,如果您要臨時從表A向表B中插入行,那很簡單

INSERT INTO TABLEA (COL1, COL2, COL3)
SELECT FROM TABLEB (COL1, COL2, COL3) 
WHERE (SELECT COUNT(*) FROM TABLEA WHERE TABLEA.COL1 = TABLEB.COL1) = 0

上面的SQL從TableB到TableA進行了簡單的復制。 WHERE子句可確保僅插入尚不存在的記錄。

您可以為此使用插入/更新觸發器。

你為什么要這么做? 為什么不使用提到的表B中的外鍵直接引用表A中的數據?

insert into tableb(columns) select columns from tablea

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM