MARIADB/MYSQL DUPLICATE Ошибка входа в уникальный столбец индекса без дубликата при установке одинакового точного значенMySql

Форум по Mysql
Ответить Пред. темаСлед. тема
Anonymous
 MARIADB/MYSQL DUPLICATE Ошибка входа в уникальный столбец индекса без дубликата при установке одинакового точного значен

Сообщение Anonymous »

Я прочитал все различные посты по этой теме, и ничто, кажется, точно не отражает суть того, с чем я здесь имею дело. Я надеюсь, что кто -то может помочь мне понять это. Это довольно простая таблица InnoDB, которая имеет единый идентификатор столбца первичного ключа . В этой таблице не определено никаких отношений, но другие таблицы используют столбец идентификатора в этой таблице в качестве иностранного ключа. Приложение проверяет дубликаты, прежде чем создавать новых пользователей с тем же адресом электронной почты, но в этой таблице есть некоторые автоматизированные системные интеграции, которые могут создавать временных пользователей, которые у меня были проблемы с дубликатами, создаваемыми в этой таблице, поэтому я добавил уникальный индекс в нем (поэтому оскорбительный код зарегистрировал бы ошибку, когда он пытается сделать это, и я могу подумать о том, что в этом случае. Попытка обновить учетную запись пользователя. Я посмотрел на эту ошибку и переведен запрос до самой основной версии, которая по-прежнему создает ошибку: < /p>

Код: Выделить всё

UPDATE `users` SET `email` = 'name@example.com' where `id` = '12345'
Вот в чем дело: в этой таблице нет других записей, которые имеют этот адрес электронной почты, и это адрес электронной почты, который уже установлен в строке с id 12345 .

Код: Выделить всё

SELECT id,email from `users` where email like '%name@example.com%'
< /code>
+-------+------------------+
| id    | email            |
+-------+------------------+
| 12345 | name@example.com |
+-------+------------------+
1 row in set (0.000 sec)
< /code>
As you can see there is only one record with this email address.
Yet, when I run the aforementioned UPDATE query, I get met with the following error:
#1062 - Duplicate entry 'name@example.com' for key 'email'
< /code>
Here is the "kick in the nuts" as they say. I can run the same exact update query for any other id/email combination found in the table and the error does not occur. I'm not changing the email. The email is already in the table exactly how I am setting it with the update query. How could there possibly be a duplicate?
Why does this only happen on this one specific record?
There are no special characters on in the real email, its all normal English letters. I even ran it through Unicode converter to ensure there weren't any funny characters causing this.
I also did and optimize table
Команда, которая дала мне: таблица не поддерживает оптимизацию, выполняя воссоздание + анализировать вместо , и это не устраняло проблему.>

Подробнее здесь: https://stackoverflow.com/questions/795 ... licate-whi
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «MySql»