首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MySQL中的目录树:是否可以在文件夹中同时具有引用完整性和文件名唯一性?

问MySQL中的目录树:是否可以在文件夹中同时具有引用完整性和文件名唯一性?
EN

Stack Overflow用户
提问于 2015-08-11 19:32:32
回答 1查看 29关注 0票数 1

我试图在MySQL中建立目录树的模型,我的第一个想法是:

代码语言:javascript
复制
CREATE TABLE Folder (
    id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
    name VARCHAR (255) NOT NULL,
    parentId INT UNSIGNED,

    UNIQUE INDEX (name, parentId),
    CONSTRAINT FOREIGN KEY (parentId) REFERENCES Folder (id)

)

但是,由于MySQL允许在唯一索引中使用多个NULL,因此在根级别上可以有两个名称相同的文件夹,如下所示:

代码语言:javascript
复制
id  | name  | parentId
----------------------
1   | a     | null
2   | a     | null

你能找到一种同时拥有以下两种方法的方法吗?

  1. 防止文件夹成为不存在文件夹的子文件夹的外键。
  2. 防止文件夹包含两个同名文件的唯一性约束
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-08-22 20:18:07

MySQL does not support check constraints。强制执行这种高级条件的一种可能方法是使用before insert/update trigger,如果insert/update不满足条件,则抛出一个错误。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31950396

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档