2011-03-10 3 views
0

많은 데이터베이스가 있고 각 테이블에 names 테이블이 있습니다. 일부에서는 고유 키가 name1이고 다른 고유 키는 name2입니다.MySQL : DROP INDEX가있는 ALTER IGNORE 테이블

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 

가 어떻게 각 데이터베이스에서 실행되는 쿼리 한 세트를 만들 수 있습니다 나는이 이름이 그래서 각 데이터베이스에서 실행할 3 개 쿼리를 작성 표준을 원하십니까?

+0

그래서 무엇이 문제입니까? 오류를 무시하는 방법 또는 각 데이터베이스에서 쿼리를 실행하는 방법? – azat

답변

3

당신은 명령 줄에서 SQL 스크립트 파일을 실행하는 경우 오류를 무시 시도 할 수 :이 작업을 수행하는 올바른 방법은

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

편집 아이크에

감사입니다 :

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

두 개 이상의 오류가있는 경우 실제로 작동하지 않습니다. 첫 번째 오류가 발생하면 중단됩니다. script.sql의 오류를 무시하는 올바른 방법은 다음과 같습니다. mysql -f -u username -p password

+0

감사합니다. 내 대답을 편집했습니다. – JamesHalsall