gpt4 book ai didi

mysql - phpmyadmin 不允许我添加外键关系

转载 作者:行者123 更新时间:2023-11-29 08:39:14 25 4
gpt4 key购买 nike

我尝试添加外键,但无法添加。我读到了有关此事的几个问题。但这些选项不适合我。 ( Tried as this way too

我的表结构如下

tab_project

列名称

项目ID --> 主键

项目名称

tab_project_day

主键---->项目ID+日期

外键---->ProjectID引用tab_project中的ProjectID

enter image description here

tab_photo

主键 ----> enter image description here

我想创建 tab_photo 外键,如下所示:

tab_photo.ProjectID --->引用tab_project_day.ProjectID

tab_photo.Day -------> 引用 tab_project_day.day

这里不允许我添加 tab_photo.Day 键。

我试过这个--

ALTER TABLE `tab_photo` ADD FOREIGN KEY (`Day`) REFERENCES
`xyz`.`tab_project_day`(`Day`) ON DELETE RESTRICT ON UPDATE RESTRICT;

它给出以下错误:

#1005 - Can't create table 'xyz.#sql-97c_1c6' (errno: 150)

这是什么原因呢?请帮忙!!!

最佳答案

请检查两个表的排序规则。我发现如果表 A 与表 B 的排序规则不同,则无法创建外键。两个表必须具有相同的排序规则。此外,列必须具有相同的排序规则。

我怀疑这可能是你的问题。运行以下查询以查看排序规则

表格排序:

SELECT   TABLE_NAME,
TABLE_COLLATION
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_NAME = "tab_project"
OR TABLE_NAME="tab_project_day"

列排序规则:

SELECT       TABLE_NAME
, COLUMN_NAME
, COLLATION_NAME
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = "tab_project"
OR TABLE_NAME="tab_project_day"

关于mysql - phpmyadmin 不允许我添加外键关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14332523/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com