Скажите, если бы я хотел, чтобы один столбец в таблице имел не равные значения integer или varchar, тогда можно использовать уникальное значение с «insert ignore into», чтобы избежать дублирования ввода данных или лучше использовать некоторую функцию php? ,Можно использовать уникальный идентификатор, чтобы избежать дублирования записи в mysql?
ответ
Чтобы избежать дублирования ввода данных, мне легче всего использовать модификатор AUTO_INCREMENT в поле для первичного ключа.
Таким образом, вы можете добавить в таблицу до тех пор, пока не почувствуете, что у вас есть дублирующий ключ. Кроме того, старайтесь хранить SQL-материал с помощью mySQL столько, сколько сможете.
Столбец с автоматическим приращением обычно не вставлен явно в первую очередь. Я думаю, он пытается предотвратить дублирование столбца данных, например, имя пользователя. – Barmar
О, извините! Я взял это в другом направлении. :( –
insert ignore
ничего не вставит, если в уникальном поле есть дубликат. Это также не вызовет ошибки, так что это зависит от того, что вы реализуете.
Создайте уникальный индекс в столбце, который вы хотите предотвратить дублированием. Затем я рекомендую с помощью:
INSERT INTO ...
ON DUPLICATE UPDATE columnName = columnName
, а не делать это в PHP, потому что вы хотите, чтобы минимизировать количество обращений к базе данных. Чтобы сделать это в PHP, вам нужно сделать два запроса: сначала a SELECT
, чтобы увидеть, существует ли строка, а затем INSERT
.
ON DUPLICATE KEY UPDATE
предпочтительнее INSERT IGNORE
, так как он не мешает вам получать уведомления о других ошибках. Вам нужно указать хотя бы один столбец для обновления; установив столбец в текущее значение, ничего не меняется.
Я рекомендую «на повторное обновление ключа», а не «вставить игнорировать», потому что последний не будет сообщать о каких-либо ошибках, а первый будет игнорировать только повторяющиеся ошибки ключа. Но это незначительный каламбур. –
Вы имеете в виду 'в дубликате key ignore', right? – Barmar
. Я хочу, чтобы синтаксис был доступен. Вместо этого просто установите столбец равным самому себе. В этом случае MySQL не делает обновления, потому что никаких данных не меняется. –
- 1. Firebase правило, чтобы избежать дублирования записи
- 2. MySQL Уникальный идентификатор
- 3. Уникальный идентификатор записи Django MySQL или pk
- 4. MySQL Query, чтобы избежать дублирования результатов
- 5. Объединить уникальные значения столбцов в одно, чтобы избежать дублирования
- 6. Уникальный идентификатор в MySQL
- 7. Как создать уникальный идентификатор для строки с «именем» и «датой», чтобы избежать дублирования записей?
- 8. Рефакторинг, чтобы избежать дублирования кода
- 9. избежать дублирования mysql injuction
- 10. Уникальный идентификатор записей MySQL
- 11. Как избежать дублирования регистрации в MySQL
- 12. Как написать SQL-запрос, чтобы избежать дублирования?
- 13. можно ли избежать дублирования кода?
- 14. Python/MySQL избежать дублирования вставку
- 15. Получить уникальный идентификатор от MySQL
- 16. Как избежать дублирования записи объекта в Mongodb?
- 17. Найти уникальный идентификатор поля при вставке записей
- 18. Как избежать дублирования записей таблицы mysql?
- 19. MySQL, как избежать дублирования строки
- 20. запрессовки Ряды Чтобы избежать дублирования в Mysql Select Query
- 21. Можно ли реорганизовать эти методы, чтобы избежать дублирования кода?
- 22. Как избежать дублирования данных в таблице Mysql?
- 23. Хорошая практика, чтобы избежать дублирования записей
- 24. Как использовать php, чтобы избежать дублирования в базе данных?
- 25. избежать дублирования записи из ниспадающего Javascript PHP
- 26. Можно ли использовать SYS_GUID() как уникальный идентификатор в таблице Oracle?
- 27. Как избежать дублирования значений в mysql?
- 28. Создать индекс в MongoDB 3.2, чтобы избежать дублирования документов/строк
- 29. Генерировать случайный и уникальный идентификатор в столбце при создании записи
- 30. Как избежать дублирования в базе данных mysql
Это в значительной степени определение первичного ключа. Проведите некоторое исследование нормализации базы данных, чтобы узнать больше об этом. – Kryten
спасибо Критен за основное объяснение, но я думаю, я не спрашивал об этом. Мой вопрос состоял в том, могу ли я использовать уникальное значение в базе данных, чтобы избежать дублирования записи. Если да, следует ли использовать уникальное значение, чтобы избежать дублирования записей или лучше использовать некоторые php-функции. – Manish