Mysql 如何在同一事务中选择另一个表的行
我有两个表,分别是Mysql 如何在同一事务中选择另一个表的行,mysql,select,transactions,Mysql,Select,Transactions,我有两个表,分别是table1和table2。 table1有字段code varchar,state int。 table2有字段code-varchar,name-varchar 我有这笔交易 START TRANSACTION; INSERT INTO TABLE1 (CODE,STATE)VALUES ('001',1); INSERT INTO TABLE2 (CODE,STATE)VALUES ('001','X VALUE'); COMMIT; table2具有触发器trigge
table1
和table2
。
table1
有字段code varchar
,state int
。
table2
有字段code-varchar
,name-varchar
我有这笔交易
START TRANSACTION;
INSERT INTO TABLE1 (CODE,STATE)VALUES ('001',1);
INSERT INTO TABLE2 (CODE,STATE)VALUES ('001','X VALUE');
COMMIT;
table2
具有触发器trigger1
CREATE TRIGGER TRIGGER1 AFTER INSERT ON TABLE2
FOR EACH ROW BEGIN
DECLARE STATE INT;
SET STATE=(SELECT STATE FROM TABLE1 WHERE CODE=NEW.CODE); -- MY QUESTION.
IF (STATE=0 )THEN
DO SMETHING....
END IF;
END |
问题:我如何才能在触发器中获取插入到同一事务中的行的
state
字段的值。您的shift键卡住了吗?我为他解开了它。
START TRANSACTION;
INSERT INTO TABLE1 (CODE,STATE)VALUES ('001',1);
INSERT INTO TABLE2 (CODE,STATE)VALUES ('001','X VALUE');
COMMIT;