MySQL外键设置和级联删除
2014-06-21 14:06
204 查看
1、设置外键:
alter table itemlistentity add constraint FK_ID foreign key(orderid) REFERENCES orderentity(id)
2、存储引擎必须使用InnoDB引擎;外键绑定关系这里使用了“ ON DELETE CASCADE ” “ON UPDATE CASCADE”,意思是如果外键对应数据被删除或者更新时,将关联数据完全删除或者相应地更新。
3、设置外键失败的情况可能有:
1.检查你的表是不是都是INNodb类型的,只有这种类型才可以创建外键。
2.检查字段名是不是有错误。
3.检查字段类型,最好一样。
4.比较隐蔽,检查字符集,为了迁移和使用的方便,尽量使用UTF8
5.上面的都检查了?那么我估计你的在创建久表的时候用的字符集与新表不同,如果我的新表用的字符集是UTF8,那么即使你把数据库的这些字符集全部设置成UTF8你的久表字段字符集依然不会改变(要是你有特殊限定的话),那就需要你对久表的所有字段进行字符集的更换。
比如一个表中的id是unsigned的,则要设置的字段也必须为unsigned。
alter table itemlistentity add constraint FK_ID foreign key(orderid) REFERENCES orderentity(id)
2、存储引擎必须使用InnoDB引擎;外键绑定关系这里使用了“ ON DELETE CASCADE ” “ON UPDATE CASCADE”,意思是如果外键对应数据被删除或者更新时,将关联数据完全删除或者相应地更新。
3、设置外键失败的情况可能有:
1.检查你的表是不是都是INNodb类型的,只有这种类型才可以创建外键。
2.检查字段名是不是有错误。
3.检查字段类型,最好一样。
4.比较隐蔽,检查字符集,为了迁移和使用的方便,尽量使用UTF8
5.上面的都检查了?那么我估计你的在创建久表的时候用的字符集与新表不同,如果我的新表用的字符集是UTF8,那么即使你把数据库的这些字符集全部设置成UTF8你的久表字段字符集依然不会改变(要是你有特殊限定的话),那就需要你对久表的所有字段进行字符集的更换。
比如一个表中的id是unsigned的,则要设置的字段也必须为unsigned。
相关文章推荐
- [转]mysql如何设置主键和外键,实现级联更新、级联删除
- [引]MySQL INNODB类型表的外键关联设置
- MySQL INNODB类型表的外键关联设置
- mysql 设置外键关联sql语句
- MySQL中利用外键实现级联删除、更新
- mysql 设置外键命令
- 在MySQL中利用外键实现级联删除
- Mysql外键约束设置[Mysql外键使用详细教程]
- MySql外键设置详解
- mysql 设置外键关联错误 150
- MySQL基本命令行&MySql外键设置详解
- 在MySQL中利用外键实现级联删除
- mysql 设置外键
- MySQL中设置外键
- MySQL外键的设置及作用
- [引]MySQL INNODB类型表的外键关联设置
- MySql外键设置详解
- MySql外键设置详解
- mysql外键设置及作用
- mysql外键设置详解