Mac 在用MySQLworkbench是为一个表添加外键时,为什么总选不上需要的被引用属性,我仔细看了属性的类型是相同的,字符集也都是utf-8,引擎也是InnoDB(操作系统-macos)
使用MySQL workbench添加不了外键
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
3条回答 默认 最新
关注 在 MySQL Workbench 创建表时添加外键,需要满足一些条件才能成功。如果 Mac 中选择某些属性时遇到了问题,可以尝试以下几个解决方案:
必须首先确保父表和子表使用的引擎都是 InnoDB,否则无法创建外键约束。可以通过以下查询语句来检查表使用的引擎:
SHOW CREATE TABLE table_name;
确保需要引用的外键属性必须定义为主键或唯一键,否则无法引用。在 MySQL Workbench 中选择需要引用的属性之前,需要先将其定义为主键或唯一键。可以使用以下命令将属性定义为主键或唯一键:
ALTER TABLE table_name ADD PRIMARY KEY (column_name); ALTER TABLE table_name ADD UNIQUE (column_name);
确保被引用的属性的数据类型必须与引用属性的数据类型相同。在 MySQL Workbench 中选择字段时,请确保所选的字段是与您要引用的字段具有相同数据类型的字段。
请注意,在添加外键时可能会遇到字符集不匹配的问题。因此,请确保相关表使用相同的字符集,并确保 MySQL Workbench 中的字符集配置与相关表的字符集一致。可以通过以下语句来检查和设置表的字符集和排序规则:
SHOW CREATE TABLE table_name; ALTER TABLE table_name CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用 1
悬赏问题
- ¥50 关于#html5#的问题:H5页面用户手机返回的时候跳转到指定页面例如(语言-javascript)
- ¥15 无法使用此凭据登录,因为你的域不可用,如何解决?(标签-Windows)
- ¥15 yolov9的训练时间
- ¥15 二叉树遍历没有报错但无法正常运行
- ¥15 在linux系统下vscode运行robocup3d上场球员报错
- ¥15 Python语言实验
- ¥15 SAP HANA SQL 增加合计行
- ¥20 用C#语言解决一个英文打字练习器,有偿
- ¥15 srs-sip外部服务 webrtc支持H265格式
- ¥15 在使用abaqus软件中,继承到assembly里的surfaces怎么使用python批量调动