簡體   English   中英

MySql表類型,如何將列數據從一個表自動繪制到另一個表?

[英]MySql table type, how do I draw column data from one table to another automatically?

我有2個表,分別稱為“成員”和“用戶”,都有2列:名稱和性別。 我希望每次我向成員表添加新的“名稱”時,該行中“性別”列中的值將從“用戶”表中更新:

**users:**
Emilia - F
John - M
David - M
**members:**
Synthia - F

'INSERT INTO members VALUES('David')...or whatever'
now **members:**
Synthia - F
David - M

您可以使用插入觸發器 但是,您不應該在兩個不同的表中擁有性別的副本-這樣會破壞規范化,需要更多的存儲空間,並有兩個副本不同步的風險。

相反,當您需要同時使用這兩個信息時,應該使用外鍵並聯接表。 您可以使用用戶名作為外鍵,也可以使用自動增量ID(如果有)。

我認為您在談論的是計算列,但是我不確定MySQL是否支持它們(谷歌,我可能是錯的)。 為什么不創建兩個表的視圖呢? 您可以嘗試類似...

CREATE VIEW MemberDetail
AS
  SELECT mem.Name,
    usr.Gender
  FROM Members mem
  INNER JOIN Users usr ON mem.Name = usr.Name;

INSERT ... SELECT語法怎么樣?

INSERT into members (name, gender) 
SELECT u.name, u.gender FROM users u WHERE u.name='Cynthia';

暫無
暫無

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

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