powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Пропустить значение, если существует
4 сообщений из 4, страница 1 из 1
Пропустить значение, если существует
    #40061321
artyak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
У меня есть nodejs приложение, которое каждый его запуск генерирует значения с начала и до определенного кол-ва, которое указано, все данные я в ношу в базу. После запуска приложения еще раз, оно снова генерирует с начала, тем самым делает дубли записей.

В базе у меня есть колонка "hash", как можно сделать, что такой `hash` уже существует, просто пропустить и добавлять следующие?

Использую вот такой код:

автор var sql = "INSERT INTO `admin_dev`.`crash_numbers` (`id`, `hash`, `multiplier`, `status`, `created_at`, `updated_at`) VALUES (NULL, '" + aGame.gameHash + "', '" + aGame.gameResult + "', '0', now(), now());";
...
Рейтинг: 0 / 0
Пропустить значение, если существует
    #40061333
FreeAdman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Наверное, дать колонке хешу индекс уникальности? :)
...
Рейтинг: 0 / 0
Пропустить значение, если существует
    #40061335
FreeAdman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
FreeAdman
Наверное, дать колонке хешу индекс уникальности? :)

Вообще, по идее, должен будет выскочить алерт в таком случае.
Думаю, лучше правильно обрабатывать error unique, чем делать SELECT для сравнения каждый раз, особенно если хешей от 100+
Или, может быть, как-то иначе построить логику хранения хешей.

Возможно, специалисты смогут подсказать более грамотный подход.
...
Рейтинг: 0 / 0
Пропустить значение, если существует
    #40061342
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
https://dev.mysql.com/doc/refman/8.0/en/insert.htmlIf you use the IGNORE modifier, ignorable errors that occur while executing the INSERT statement are ignored. For example, without IGNORE, a row that duplicates an existing UNIQUE index or PRIMARY KEY value in the table causes a duplicate-key error and the statement is aborted. With IGNORE, the row is discarded and no error occurs. Ignored errors generate warnings instead.
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Пропустить значение, если существует
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]