是否可以在MySQL中创建原子事务?避免原子事务中的唯一违规
考虑我有表“类”这些行:
id|name
--|---------
1 |'tablets'
2 |'phones'
和列name
是我的主键。
如果我尝试:
START TRANSACTION;
update "category" set name = 'phones' where id = 1;
update "category" set name = 'tablets' where id = 2;
COMMIT;
我越来越:
ERROR: duplicate key value violates unique constraint
"category_name_key"
DETAIL: Key (name)=(tablets) already exists.
我的期望是,约束检查应该只在完成提交。这可能与MySQL?
我已经没有太多机会与交易工作,因为大部分的架构我处理过大量基础的MyISAM的; MyISAM根本不支持事务,它可能是您的表使用的存储引擎? – Uueerdo