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