请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

运行教程中的创建外键的代码没有给外键正确命名。

CREATE TABLE account_user_address(
	id INT NOT NULL AUTO_INCREMENT,
	user_id INT NOT NULL,
	address VARCHAR(255),
	phone_no CHAR(11),
	PRIMARY KEY(`id`),
	FOREIGN KEY user_ref(user_id) REFERENCES account_user(id)
);

再运行

ALTER TABLE account_user_address DROP FOREIGN KEY user_ref;

题:不能掉落"user_ref":检查列/键存在
在键前user_ref account_user_address_ibfk_1

正在回答

2回答

MySQL8.0在主外键添加上有一点差别,可参考下面的代码:

CREATE TABLE account_user_address(

id INT NOT NULL AUTO_INCREMENT,

user_id INT NOT NULL,

address VARCHAR(255),

phone_no CHAR(11),

PRIMARY KEY(`id`),

CONSTRAINT `user_ref`FOREIGN KEY (user_id) REFERENCES account_user(id)

);


-- 删除外键约束

ALTER TABLE account_user_address DROP FOREIGN KEY user_ref;


-- 增加外键约束

ALTER TABLE account_user_address ADD CONSTRAINT my_key FOREIGN KEY(user_id) REFERENCES account_user(id);


1 回复 有任何疑惑可以回复我~
NavCat 2021-07-01 23:26:10

有报错具体的日志吗?贴上来看下。另外提供下你数据库的版本号

0 回复 有任何疑惑可以回复我~
  • 提问者 哈哈笑笑9632300 #1
    错误提示:
    mysql> ALTER TABLE account_user_address DROP FOREIGN KEY user_ref;
    ERROR 1091 (42000): Can't DROP 'user_ref'; check that column/key exists
    数据库版本:mysql 8.0.23
    回复 有任何疑惑可以回复我~ 2021-07-01 23:30:54
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信