例子:
mysql>CREATE TABLE categories (
->category_id tinyint(3) unsigned NOT NULL AUTO_INCREMENT,
->name varchar(30) NOT NULL,
->PRIMARY KEY(category_id)
->) ENGINE=INNODB
mysql>CREATE TABLE articles (
->article_id INT(11) unsigned NOT NULL AUTO_INCREMENT,
->title varchar(255) NOT NULL,
->category_id tinyint(3) unsigned NOT NULL,
->member_id int(11) unsigned NOT NULL,
->INDEX (category_id),
->FOREIGN KEY (category_id) REFERENCES categories (category_id),
->PRIMARY KEY(article_id)
->) ENGINE=INNODB
外键名是什么:在上面的例子中category_id
在删除那个把该外键作为主键的表之前,你先把包含外键的那个表中的外键全部删掉,置为null,或者直接将那列删掉,这样就没有地方引用这些外键,你就可以将那个表删除掉了。希望可以帮忙。记得以前做过类似的东西,删除将外键作为主键的表之前,必须将引用到这个键的内容置空,即没有引用该键,这样便可以删除了。如上图所示使用SHOW CREATE TABLE 表名称
记住CONSTRINT后面‘’这个符号中的内容
这时候就可以使用ALTER TABLE 表名称 DROP FOREIGN KEY 刚刚记住的内容
OK啦上述两步就可以删除外键啦
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)