MySQL: ALTER IGNORE TABLE с DROP INDEX - PullRequest
       32

MySQL: ALTER IGNORE TABLE с DROP INDEX

0 голосов
/ 10 марта 2011

У меня много баз данных, и в каждой есть таблица names.В некоторых у меня есть УНИКАЛЬНЫЙ КЛЮЧ с именем name1, а в других тот же УНИКАЛЬНЫЙ КЛЮЧ называется name2.Я хочу стандартизировать это имя, поэтому я подготовил 3 запроса для каждой базы данных:

ALTER IGNORE TABLE `names`
    DROP INDEX `name1`;
ALTER IGNORE TABLE `names`
    DROP INDEX `name2`;
ALTER TABLE `names`
    ADD UNIQUE `new_name` (`name`, `surname`);

Но я получил ошибку:

SQL Error (1091): Can't DROP 'name1'; check that column/key exists

Как сделать один набор запросов для запускана каждую базу данных?

1 Ответ

3 голосов
/ 10 марта 2011

Вы можете попытаться игнорировать ошибки, если выполняете файл сценария SQL из командной строки:

mysql -f -u username -p password -e 'source script.sql'

РЕДАКТИРОВАТЬ

Благодаря Айк, правильный способ сделать это:

mysql -f -u username -p password < script.sql
...