У меня есть mysql таблица с некоторыми ограничениями на уникальность данных. У меня есть сценарий, который задает некоторые вопросы и затем вставляет ответы в mysql таблицу.
Я не знаю, как сказать сценарию делать что-то еще, если дублирующаяся запись существует.
Я хотел бы дать опцию удалить запись и добавить, что новые, или возвратиться к запуску начинают сценарий снова.
Надежда, которая имеет смысл.
Престон
Я предложил бы выполнить запрос, чтобы видеть, существует ли запись сначала, и затем у Вас может быть некоторая логика удара для решения, что сделать на основе результата запроса. Возможно, что-то вроде этого...
CHECK_ROW_EXISTS=$(mysql -u dbuser -p --batch -N -e "SELECT COUNT(*) FROM dbname.dbtable WHERE id = ${ID_TO_CHECK}")
Используя --batch
и -N
удалит форматирование так, чтобы мы могли присвоить результат переменной удара и затем решить, что сделать оттуда.
Другая опция состоит в том, чтобы проверить, что код статуса выхода mysql вставляет и, если это перестало работать, решите, что сделать оттуда.
Дальнейшее чтение: получите результат запроса SQL с форматом таблицы | Переполнение стека