如何更改另一个 table 中的外键列类型
How to alter the column type which is a foreign key in another table
我有两个 table 客户和地址
客户 table 有字段
- cust_id (PK) BINARY(16)
- address_id (FK) BINARY(16)
- cust_name VARCHAR(32)
地址 table 有字段
- address_id (Pk) BINARY(16)
- address_name VARCHAR(250)
现在我需要将 address_id 的列类型从 BINARY(16) 修改为 CHAR(36) ,但出现错误:
我就是这样做的
ALTER TABLE Addresses MODIFY COLUMN address_id CHAR(16);
ERROR 1025 (HY000): Error on rename of './ShipMileData/#sql-531_240'
to './ShipMileData/Addresses' (errno: 150)
从 Customer
table 中删除 FOREIGN KEY
约束。然后 ALTER
在两个 table 中输入列,然后添加回 FK。
我有两个 table 客户和地址
客户 table 有字段
- cust_id (PK) BINARY(16)
- address_id (FK) BINARY(16)
- cust_name VARCHAR(32)
地址 table 有字段
- address_id (Pk) BINARY(16)
- address_name VARCHAR(250)
现在我需要将 address_id 的列类型从 BINARY(16) 修改为 CHAR(36) ,但出现错误:
我就是这样做的
ALTER TABLE Addresses MODIFY COLUMN address_id CHAR(16);
ERROR 1025 (HY000): Error on rename of './ShipMileData/#sql-531_240' to './ShipMileData/Addresses' (errno: 150)
从 Customer
table 中删除 FOREIGN KEY
约束。然后 ALTER
在两个 table 中输入列,然后添加回 FK。