[英]MYSQL How do I select data from one table only where column values from that table match the column values of another table?
[英]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.