不知道是否可能,但我想知道是否可以根據table1自動插入 MySQL table2
假設我的資料庫中有兩個表(table1和table2)。我想要的是一種自動化,每當在 table1 中創建新行時,它將自動在 table2 中創建一個具有一些默認值的新行。這樣我就不必在我的 PHP 檔案中為table2撰寫插入代碼
不知道我說得夠不夠清楚。讓我簡要介紹一下我的表結構......
表1:-
- 用戶名(唯一)
- 用戶電子郵件
表2:-
- 用戶名(與table1相同)
- is_account_active (默認為 true)
- 投資(默認為0)
- current_balance(默認為0)
因此,每當創建帳戶時,我都會在table1和table2中插入新資料。所以我想知道是否可以以特定方式創建table2 ,每當在table1中創建新行時,table2都會自動從table1的新行中提取 user_name并將其插入到自己的存盤中(其余的列資料是靜態的。所以我可以為它們設定默認值)
[注意:我需要將它們保存在兩個不同的表中,因為每個表中會有很多列]
<-- 我知道你們中的許多人會要求我嘗試過什么。但是我什至不知道該嘗試什么-->
uj5u.com熱心網友回復:
您可以使用AFTER INSERT TRIGGER
DELIMITER $$
CREATE TRIGGER after_table1_insert
AFTER INSERT
ON table1 FOR EACH ROW
BEGIN
IF NEW.user_name IS NOT NULL AND NEW.user_email IS NOT NULL THEN
INSERT INTO table2 (user_name,is_account_active, invested, current_balance)
VALUES(NEW.user_name,1,0,0);
END IF;
END$$
DELIMITER ;
您需要使用 NEW.column_name 添加要在 table2 中使用的所有列
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/433452.html
