0
將數據插入到表中時,我需要能夠根據新記錄中的條目使用來自另一個表中的數據填充表。在MYSQL中插入時的查找值
例如,我有一個稱爲緯度的表,當創建新記錄時未填充該表。
緯度細節存儲在一個名爲區域的表格中,該表格有一個名爲'areaid'的列和一個名爲'緯度'的列。
我需要基於插入新記錄中的areaid以正確的緯度更新區域表中的緯度字段。
對不起,如果這是混淆,任何問題請getin touch。
感謝
將數據插入到表中時,我需要能夠根據新記錄中的條目使用來自另一個表中的數據填充表。在MYSQL中插入時的查找值
例如,我有一個稱爲緯度的表,當創建新記錄時未填充該表。
緯度細節存儲在一個名爲區域的表格中,該表格有一個名爲'areaid'的列和一個名爲'緯度'的列。
我需要基於插入新記錄中的areaid以正確的緯度更新區域表中的緯度字段。
對不起,如果這是混淆,任何問題請getin touch。
感謝
我這裏假設areaid
在area
表中的唯一或主鍵。可以使用REPLACE INTO
或INSERT ... ON DUPLICATE KEY UPDATE
。如果您要保留latitude
表中的緯度,那麼您可以使用觸發器來確保在插入到latitude
表中時area
表已更新。
CREATE TRIGGER example BEFORE INSERT ON latitude
FOR EACH ROW BEGIN
REPLACE INTO area (areaid, latitude) VALUES (NEW.areaid, NEW.latitude);
END;
非常感謝,但我得到以下錯誤: – Haribo83 2011-05-11 20:11:21
#1064 - 您的SQL語法錯誤; – Haribo83 2011-05-11 20:11:27
@ Haribo83其實我沒有讀過'REPLACE INTO'的文檔,你應該嘗試使用'INSERT ... ON DUPLICATE KEY UPDATE',因爲它更高效。 – Neil 2011-05-12 19:00:55