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_确实存在