Mysql 4 способа избежать повторной вставки данных!

MySQL

Самый распространенный способ — установить для поля первичный ключ или уникальный индекс, при вставке повторяющихся данных будет выброшена ошибка и программа завершится, но это вызовет проблемы с последующей обработкой, поэтому необходимо провести специальную обработку к оператору вставки, постарайтесь избежать или игнорировать его.Ненормальный, позвольте мне кратко представить, заинтересованные друзья могут попробовать это:

Здесь для удобства демонстрации я создал новую тестовую таблицу пользователей, в которой в основном 4 поля: id, имя пользователя, пол и адрес, первичный ключ — id (самоинкрементный), а для поле имени пользователя:

1. вставить игнор в

То есть при вставке данных, если данные существуют, вставка будет проигнорирована.Предпосылка заключается в том, что вставляемое поле данных установлено с первичным ключом или уникальным индексом.Тестовая инструкция SQL выглядит следующим образом.При вставке этих данных, база данных MySQL сначала извлечет существующие данные (также это индекс idx_username), если он существует, проигнорируйте эту вставку, если он не существует, вставьте данные в обычном режиме:

2. при обновлении дублирующего ключа

То есть при вставке данных, если данные существуют, выполняется операция обновления.Предварительные условия такие же, как и выше, а вставляемое поле данных также задается первичным ключом или уникальным индексом.Тестовая инструкция SQL выглядит следующим образом , При вставке этой записи база данных MySQL сначала извлечет существующие данные (индекс idx_username), если они существуют, выполнит операцию обновления обновления, если они не существуют, вставит их напрямую:

3. заменить на

То есть при вставке данных, если данные существуют, удалите их и вставьте снова. Предварительные условия такие же, как указано выше. В поле вставленных данных необходимо установить первичный ключ или уникальный индекс. Тестовый оператор SQL выглядит следующим образом. вставив эту запись, база данных MySQL сначала извлечет существующие данные (индекс idx_username), если они существуют, удалите старые данные перед вставкой, если нет, вставьте напрямую:

4. вставить, если не существует

То есть вставить в... выбрать... где нет... Этот метод подходит для вставляемого поля данных без первичного ключа или уникального индекса.При вставке части данных сначала определите, существуют ли данные в База данных MySQL. Если нет, вставьте как обычно, игнорируйте, если она существует:

В настоящее время давайте поделимся этими 4 способами, которыми MySQL обрабатывает повторяющиеся данные. Первые 3 способа подходят для полей с первичными ключами или уникальными индексами, а последний способ не имеет этого ограничения. Если вы знакомы с процессом использования, Вы сможете освоить его в ближайшее время. , В Интернете также есть соответствующая информация и учебные пособия. Введение очень подробное. Если вам интересно, вы можете найти его.