【发布时间】:2020-10-18 00:23:35
【问题描述】:
我这里有简单的交易;
START TRANSACTION;
INSERT INTO user_photos(id, user_id, meta, upload_timestamp) VALUES (1211, 1, '{"a"}',
from_unixtime(unix_timestamp()));
UPDATE user_photos set user_id = '{"test"}' WHERE user_id = 1;
COMMIT;
INSERT 语句将起作用,但第二个语句 UPDATE 语句将失败,因为 user_id 列的类型为 INTEGER。
我想要一个事务,如果任何语句(内部事务)失败,它将回滚。这个交易的行为不是那样的。
我使用 INNODB 引擎。为什么这个交易不起作用?
【问题讨论】:
标签: mysql transactions mysql-workbench