2012-02-06 2 views
0

일부 모델 업데이트를 mySQL의 기존 데이터베이스와 동기화하려고합니다. 이전에는 잘 작동했지만 지금은 오류가 발생합니다.mySQL 5.5.17/Workbench 5.2 동기화 실패 (errno : 150)

#1005 - Can't create table 'edu_dev.#sql-132f_eef09' (errno: 150) 

나는 실제로 무엇이 잘못되었는지 알 수 없습니다. 내가 실행하는 데 노력하고있어 업데이트는 아래와 같이 생성되었습니다

SET @[email protected]@UNIQUE_CHECKS, UNIQUE_CHECKS=0; 
SET @[email protected]@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0; 
SET @[email protected]@SQL_MODE, SQL_MODE='TRADITIONAL'; 

ALTER TABLE `edu_dev`.`user` 
    ADD CONSTRAINT `fk_user_language1` 
    FOREIGN KEY (`language`) 
    REFERENCES `edu_dev`.`language` (`iso`) 
    ON DELETE NO ACTION 
    ON UPDATE NO ACTION; 

.. 
.. 
.. 

SET [email protected]_SQL_MODE; 
SET [email protected]_FOREIGN_KEY_CHECKS; 
SET [email protected]_UNIQUE_CHECKS; 

edu_dev .language 외부 키 검사에 사용되는 열이 이미 존재합니다. 50 개 테이블을 업데이트해야하므로 수동으로 수행하지 않는 것이 좋습니다.

답변

0

문제가 해결되었습니다.

외래 키 제약 조건이있는 모든 테이블의 데이터 정렬이 동일한 지 확인하십시오. Phoca Changing Collation

: 그들이해야했다 동안 데이터베이스의 모든 테이블의 데이터 정렬을 변경하는 좋은 도구도 있습니다 utf8_general_ci

몇 가지 이유를 들어 일부 latin1_swedish_ci로 전환 한