Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MySQL:无法删除/删除外键_Mysql_Foreign Keys_Constraints_Ddl - Fatal编程技术网

MySQL:无法删除/删除外键

MySQL:无法删除/删除外键,mysql,foreign-keys,constraints,ddl,Mysql,Foreign Keys,Constraints,Ddl,以下是我到目前为止所做的尝试: mysql> alter table wp_delayedCoupons_visits remove foreign key fk_targets_visits; ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use

以下是我到目前为止所做的尝试:

mysql> alter table wp_delayedCoupons_visits remove foreign key fk_targets_visits;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'foreign key fk_targets_visits' at line 1

mysql> alter table wp_delayedCoupons_visits drop foreign key fk_targets_visits;
ERROR 1091 (42000): Can't DROP 'fk_targets_visits'; check that column/key exists
还有背虱

mysql> alter table `wp_delayedCoupons_visits` remove foreign key `fk_targets_visits`;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'foreign key `fk_targets_visits`' at line 1

mysql> alter table `wp_delayedCoupons_visits` drop foreign key `fk_targets_visits`;
ERROR 1091 (42000): Can't DROP 'fk_targets_visits'; check that column/key exists

mysql> show columns in wp_delayedCoupons_visits;

+-------------------+--------------+------+-----+---------+----------------+
| Field             | Type         | Null | Key | Default | Extra          |
+-------------------+--------------+------+-----+---------+----------------+
| visitId           | mediumint(5) | NO   | PRI | NULL    | auto_increment |
| visitorId         | mediumint(9) | NO   |     | NULL    |                |
| urlVisited        | varchar(500) | NO   |     | NULL    |                |
| fk_targets_visits | mediumint(5) | NO   | UNI | NULL    |                |
+-------------------+--------------+------+-----+---------+----------------+
4 rows in set (0.00 sec)
是否有人知道是什么原因导致约束未下降或被移除

更改表格wp_延迟优惠券_访问删除外键fk_目标_访问

错误消息说明了一切。这是一个语法错误,因为mysql中不存在删除键的方法

更改表格wp_延迟优惠券_访问删除外键fk_目标_访问

语法是正确的,但实际上您正试图使用列名fk_targets_visions删除键,而必须使用实际约束名称而不是fk_targets_visions。如果您不知道使用的约束名称或默认情况下已分配约束名称,请使用以下查询查找约束名称Change DB_name和您的实际数据库名称:

SELECT CONSTRAINT_NAME FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE WHERE
REFERENCED_TABLE_SCHEMA = 'DB_NAME' AND REFERENCED_TABLE_NAME = 'wp_delayedCoupons_visits' AND REFERENCED_COLUMN_NAME = 'fk_targets_visits';
显然,您有一个名为fk_targets_visions的列,但没有外键约束,甚至没有使用fk_前缀命名

使用

show create table `wp_delayedCoupons_visits`
如果此表中存在forign键,请按重新发出命令

alter table `wp_delayedCoupons_visits` drop foreign key fk_coup_visits 
假设外键名fk_coup_确实存在