5
(MySQL 5.5、InnoDBテーブル)セーブポイントまたは前のbegin
ステートメントにロールバックできないのはなぜですか?ALTER TABLE後にMySQLシェルのロールバックが機能しない
mysql> set autocommit=0;
Query OK, 0 rows affected (0.00 sec)
mysql> start transaction;
Query OK, 0 rows affected (0.00 sec)
mysql> savepoint id;
Query OK, 0 rows affected (0.00 sec)
mysql> alter table sg_Section add column (published tinyint(1) default 0);
Query OK, 2 rows affected (0.30 sec)
Records: 2 Duplicates: 0 Warnings: 0
mysql> rollback to savepoint id;
ERROR 1305 (42000): SAVEPOINT id does not exist
セーブポイントの後に任意のコマンドを実行していない場合は、«仕事»をするようだ:
mysql> savepoint id;
Query OK, 0 rows affected (0.00 sec)
mysql> rollback to savepoint id;
Query OK, 0 rows affected (0.00 sec)
任意のリーダーがDDL文に 'ROLLBACK'を必要とする場合は、PostgreSQLはそれをサポートしています。 – halfer