Нарушение ограничения целостности: 1062 Повторяющаяся запись для сортировки utf8_unicode_ci
У меня есть таблица с именем тега с уникальным ограничением на столбец имени:
CREATE TABLE `tag` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `UNIQ_389B7835E237E06` (`name`)
) ENGINE=InnoDB AUTO_INCREMENT=13963 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci
Параметры сортировки для этой таблицы: utf8_unicode_ci. Когда я пытаюсь вставить следующие 2 записи, я получаю исключение «Нарушение ограничения целостности».
Журнал SQL:
130607 14:35:53 1096 Connect imtpdb@localhost on imtpdb
1096 Query SET NAMES utf8
1096 Query START TRANSACTION
1096 Query INSERT INTO tag (name) VALUES ('até')
1096 Query INSERT INTO tag (name) VALUES ('ate')
1096 Query rollback
1096 Quit
Точное сообщение об ошибке:
SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry 'ate' for key 'UNIQ_389B7835E237E06'
my.cnf:
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
[mysqld]
default-character-set = utf8
collation-server = utf8_unicode_ci
init-connect='SET NAMES utf8'
character-set-server = utf8
Я использую MySQL 5.1.54. Я пытался понять это некоторое время, но безрезультатно. Кто-нибудь знает, что я делаю не так? Ох, просто чтобы заявить очевидное. Запись еще не существует в таблице.