你知道在哪裏有外鍵我有問題嗎?FOREIGN KEY - 執行表
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '( `countryId` bigint(20) NOT NULL AUTO_INCREMENT, `personId` bigint(20) NOT ' at line 1
表1與外鍵
ALTER TABLE `country` (
`countryId` bigint(20) NOT NULL AUTO_INCREMENT,
`personId` bigint(20) NOT NULL,
`Name` varchar(5000) DEFAULT NULL,
PRIMARY KEY (`countryId`),
UNIQUE KEY `personId` (`personId`),
CONSTRAINT fk_PerOrders FOREIGN KEY (`personId`) REFERENCES perosn(`PersonId`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 PACK_KEYS=0;
表2
CREATE TABLE `perosn` (
`PersonId` bigint(20) NOT NULL AUTO_INCREMENT,
`Name` varchar(5000) DEFAULT NULL,
`Surname` varchar(5000) NOT NULL,
PRIMARY KEY (`PersonId`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 PACK_KEYS=0;
你的第一條語句具有'ALTER TABLE',它應該是'CREATE TABLE' – 2013-03-04 14:49:59
如果你想有'FOREIGN KEY'約束,用'InnoDB'引擎定義你的表,而不是'MyISAM'。 – 2013-03-04 14:50:57
爲什麼超長超長的varchar列?我既不知道一個國家需要5000個字符的名字,也不知道有這麼長的名字或姓氏的人。 – 2013-03-04 14:53:52