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, Traditional
訂閱 RSS - mysql