我将我的PhpMyAdmin数据库引擎从MyISAM更新到INNODB以允许回滚.
这是我的SQL查询:
START TRANSACTION;
UPDATE jkm_content SET state=0 WHERE title IN ('title-1','title2');
结果如下:
start transaction;# MySQL returned an empty result set (i.e. zero
rows).
UPDATE jkm_content SET state=1 WHERE title IN ('title-1','title2');# 2 rows affected.
1)因此该声明通知我2行受到影响,但更改不会出现在任何地方(我的数据库或网站中都没有).我虽然启动事务将允许我可视化更改(在临时数据库中)然后如果我满意,我“提交”查询. (我知道我需要提交更新数据库,但如果我提交更改将是永久性的).
2)然后我没有得到rollback的点,如果在提交之前我看不到效果.这两个查询之间的区别是什么:
START TRANSACTION;
UPDATE jkm_content SET state=0 WHERE title IN ('title-1','title2');
和
START TRANSACTION;
UPDATE jkm_content SET state=0 WHERE title IN ('title-1','title2');
ROLLBACK;
3)如果我做对了,这些功能都是一样的:
START TRANSACTION
BEGIN
BEGIN WORK