如何更改另一个表中的外键列类型

时间:2015-01-02 09:27:34

标签: mysql

我有两个表客户和地址

客户表包含字段

  
      
  • cust_id(PK)BINARY(16)
  •   
  • address_id(FK)BINARY(16)
  •   
  • cust_name VARCHAR(32)
  •   

地址表中有字段

  
      
  • address_id(Pk)BINARY(16)
  •   
  • address_name VARCHAR(250)
  •   

现在我需要将address_id的列类型从BINARY(16)修改为CHAR(36),但我收到错误:

我这样做

  

ALTER TABLE地址MODIFY COLUMN address_id CHAR(16);

     

ERROR 1025(HY000):重命名'./ShipMileData/#sql-531_240'出错   到'./ShipMileData/Addresses'(错误号:150)

1 个答案:

答案 0 :(得分:1)

FOREIGN KEY表中删除Customer约束。然后ALTER两个表中的列类型,并添加回FK。