我需要在项目中使用交易,并且它只是想要不工作:D 在navicat编辑器中,我写了这句话:
SET autocommit=1;
BEGIN;
select * from product where deleted=0 and name='Juice Coke';
insert into product(name, fk_category, fk_packaging, fk_stock, active, decimals, price, has_special_price, special_price_description, added_date, deleted)
values ('qaaaJuice Coke','2','4','1','1','2','100.244','1','DESC SPECIAL PRICE','2012-02-28 08:26:47', 0 );
select * from product where deleted=0 and name='Juice Pepsi';
ROLLBACK;
/*COMMIT;*/
但是它不会进行回滚,插入仍然在表格中。 我是否需要对数据库属性进行一些更改,或者为什么您认为它不起作用? 谢谢,阿德里安
答案 0 :(得分:2)
在MySQL附带的存储引擎中,只有InnoDB表目前支持事务。将表的存储从MyISAM更改为InnoDB
答案 1 :(得分:1)
嘿。您应该禁用自动提交。
SET autocommit=0;
答案 2 :(得分:1)
您在第一行启用了自动提交功能。一旦数据库表以任何方式更新,它就会完成事务。将其设置为SET autocommit = 0; 你的交易应该没问题!