赞
踩
假设有两个表,一个是出版社表(t_press),另一个是图书表(t_book)。给t_book表的press_id添加外键,ALTER TABLE t_book ADD CONSTRAINT fk_pressid FOREIGN KEY(press_id) REFERENCES t_press(press_id);,即它引用了t_press表中的press_id(主键字段)。因为一个图书可以同时被多个出版社出版,因此press_id字段就具有了MUL属性。
当删除t_book中的外键fk_pressid,ALTER TABLE t_book DROP FOREIGN KEY fk_pressid;
发现MUL还在。如下图。
这是因为创建外键时,系统会自动生成索引。如果在创建外键时,没有定义约束的名字,索引一般是设有外键的字段名;如果定义了外键约束名字,索引名一般也就是外键约束的名字。可以通过SHOW INDEXES FROM t_book; 查看t_book表中的索引,发现有一个fk_pressid的索引名。
因此在删除外键时必须删除外键约束和索引,ALTER TABLE t_book DROP INDEX fk_pressid; 再次查看t_book表结构,发现没有MUL了。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。