1& 1上的MySQL事务

时间:2014-02-10 15:22:06

标签: mysql transactions

当连接到我的本地MySQL服务器时,我可以毫无问题地运行以下查询:

BEGIN;
INSERT INTO t VALUES(0.1, 0.2, 0.3);
ROLLBACK;

该条目已正确插入,然后在ROLLBACK

后删除

现在,我在1& 1的phpmyadmin上尝试了相同的查询。该行已正确插入,但ROLLBACK永远不会有效。我还尝试在交易前添加SET autocommit=0;,但没有成功。看起来在其服务器上运行的任何查询BEGINSTART transactionCOMMITROLLBACK等都不会返回任何错误,但实际上不会产生任何影响交易。

为什么?

1 个答案:

答案 0 :(得分:2)

您的远程表是MyISAM表,而您的本地表是InnoDB。 MyISAM表引擎不支持事务。不幸的是,当您使用'BEGIN TRANSACTION'或'COMMIT'等命令时,它也不会抱怨。

您可以更改表格引擎:

ALTER TABLE t ENGINE = INNODB;    

引擎之间还存在其他差异,文档将包含详细信息。