|
Тема |
Транзакции в MySQL 5.0 |
|
Автор |
Dakota (erotoman) |
|
Публикувано | 30.11.09 15:30 |
|
|
Добре де, по стечение на обстоятелствата ми се наложи отново да се сблъсквам челно с MySQL... ... и се натъкнах на следното нещо:
mysql> SET sql_mode = "TRADITIONAL";
Query OK, 0 rows affected (0.00 sec)
mysql> SET autocommit=0;
Query OK, 0 rows affected (0.00 sec)
mysql> create table test(id int primary key, name varchar(5)) engine=InnoDB;
Query OK, 0 rows affected (0.02 sec)
mysql> begin;
Query OK, 0 rows affected (0.00 sec)
mysql> insert into test values (1, 'foo');
Query OK, 1 row affected (0.00 sec)
mysql> insert into test values (2, 'foobar');
ERROR 1406 (22001): Data too long for column 'name' at row 1
mysql> commit;
Query OK, 0 rows affected (0.00 sec)
mysql> select * from test;
+----+------+
| id | name |
+----+------+
| 1 | foo |
+----+------+
1 row in set (0.01 sec)
Очевидно противоречие с C-то от ACID!
Използвам версия 5.0.51a-24+lenny2, т.е. тази, която се инсталира по подразбиране с apt-get install mysql на Debian.
Из и не намерих нищо, което да покрива този случай.
"Договор, подписан с Русия, струва по-малко от хартията, върху която е написан!" - БисмаркРедактирано от Dakota на 30.11.09 15:33.
|
| |
|
|
|