mysql

在MySQL里修改一个本身是外键或者拥有外键的字段

在MySQL里,如果一个字段本身是外键,或者它拥有一个外键, 直接修改之,会引发类似下面的错误:

Error
SQL query:
ALTER TABLE `city` CHANGE `CountryCode` `CountryCode` CHAR( 3 ) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL DEFAULT ''
MySQL said:
#1025 - Error on rename of './test/#sql-82d_2cb' to './test/city' (errno: 150)

用命令
show create table city;
查看,会发现"CountryCode"这个字段("city"表里)是一个外键,它是指向"country"表里的"Code"字段的:

Chinese, Simplified(简体中文)
订阅 RSS - mysql