1
나는 다음과 같은 SQL 명령을 실행하면 :오류
CREATE TABLE `TableA` (
`tableAId` INT(11) NOT NULL AUTO_INCREMENT,
PRIMARY KEY (`tableAId`)
);
CREATE TABLE `TableB` (
`tableBId` INT(11) NOT NULL AUTO_INCREMENT,
`tableAId` INT(11) DEFAULT NULL,
PRIMARY KEY (`tableBId`),
CONSTRAINT `FK_TABLE_A_ID` FOREIGN KEY (`tableAId`) REFERENCES `TableA` (`tableAId`)
);
ALTER TABLE `TableB`
RENAME TO `NewTableB`;
ALTER TABLE `TableA`
RENAME TO `NewTableA`,
CHANGE COLUMN `tableAId` `newTableAId` INT(11) NOT NULL AUTO_INCREMENT FIRST;
DROP TABLE IF EXISTS NewTableA;
DROP TABLE IF EXISTS NewTableB;
CREATE TABLE `TableA` (
`tableAId` INT(11) NOT NULL AUTO_INCREMENT,
PRIMARY KEY (`tableAId`)
);
나는이 마지막 명령 (즉, CREATE TABLE TableA (...)
)에 다음과 같은 오류 :
Erreur SQL (1005) : 'TableA'테이블을 만들 수 없습니다. (errno : 150) Foreign 키 제약 조건이 잘못 형성되었습니다.
55,164,923,내가 가진 :
------------------------
LATEST FOREIGN KEY ERROR
------------------------
130531 12:06:05 Error in foreign key constraint of table TableB:
there is no index in referenced table which would contain
the columns as the first columns, or the data types in the
referenced table do not match the ones in table. Constraint:
,
CONSTRAINT `FK_TABLE_A_ID` FOREIGN KEY (`tableAId`) REFERENCES `NewTableA` (`tableAId`)
없는 별도의 쿼리에서 이름 바꾸기 테이블과'TableA의의 이름 바꾸기 열을 실행하려고해야 '? – Stephan
나에게 버그가있는 것 같습니다. 5.1.46에서 잘 돌아갑니다. MySQL 버그 추적기를 확인 했습니까? (http://bugs.mysql.com) –
예를 들어, 아마도이 버그와 관련이 있습니다 : http://bugs.mysql.com/bug.php?id=64922 –