MySQL外键允许NULL吗?

2024-04-03

我正在拼凑一个图像网站。基本模式非常简单 MySQL,但我在尝试表示与图像关联的可能的管理标志(“不适当”、“受版权保护”等)时遇到了一些麻烦。我目前的想法如下:

tblImages (
    imageID INT UNSIGNED NOT NULL AUTO_INCREMENT,
    ...
);

tblImageFlags (
    imageFlagID INT UNSIGNED NOT NULL AUTO_INCREMENT,
    imageID INT UNSIGNED NOT NULL,
    flagTypeID INT UNSIGNED NOT NULL,
    resolutionTypeID INT UNSIGNED NOT NULL,
    ...
);

luResolutionTypes (
    resolutionTypeID INT UNSIGNED NOT NULL AUTO_INCREMENT,
    resolutionType VARCHAR(63) NOT NULL,
    ...
);

(为了便于阅读而被截断;各种外键和索引都是有序的,我发誓)

tblImageFlags.flagTypeID在标志类型的查找表上是外键的,正如你可以想象的tblImageFlags.resolutionTypeID should外键luResolutionTypes.resolutionTypeID。当前的问题是,当第一次发出标志时,没有逻辑解析类型(我会声明这是一个很好的用途)NULL);然而,如果设置了一个值,它应该是查找表的外键。

我找不到针对这种情况的 MySQL 语法解决方法。它存在吗?最佳亚军是:

  • 添加“无审核”解决方案类型
  • Add a NULL进入luResolutionTypes.resolutionTypeID(这甚至可以在AUTO_INCREMENT柱子?)

感谢您的见解!

PS Bonus 指向任何告诉我在数据库中是“索引”还是“索引”的人。


跟进:感谢 Bill Karwin 指出表结构中的语法错误(不要将列设置为NOT NULL如果你想让它允许NULL!)。一旦我有足够的业力给你这些奖励积分,我就会:)


您可以通过允许来解决这个问题NULL在外键列中tblImageFlags.resolutionTypeID.


PS Bonus 指向任何告诉我在数据库中是“索引”还是“索引”的人。

的复数形式index应该indexes.

根据 ”现代美国用法 https://rads.stackoverflow.com/amzn/click/com/0195161912” 作者:布莱恩·A·加纳 (Bryan A. Garner):

对于普通目的,indexes是 最好的复数,不是indices。 ...Indices,虽然不那么自命不凡fora or dogmata, 尽管如此,还是很自命不凡。 有些作家更喜欢indices在 技术背景,如数学 和科学。虽然不是最好的 复数为index, indices是 在“指标”的意义上是允许的。 ... 避免单数indice,复数的反向构成indices.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

MySQL外键允许NULL吗? 的相关文章

随机推荐

  • Jekyll 服务不起作用:看起来您没有安装 pygments 或其依赖项之一

    Configuration file Users andrechristoga Documents type theme config yml Deprecation You appear to have pagination turned
  • 为什么路由防护 canLoad 不触发,但 canActivate 却触发

    我有一个 Angular 2 0 1 最终版 应用程序 它使用哈希位置策略为路线导航策略 我将其中一条路线定义如下 path shiftmanage component ShiftManageComponent canLoad AuthGu
  • 如何使用 ActivePerl 运行 Perl 脚本?

    我最近刚刚在我的 Windows XP 上安装了 ActivePerl 5 12 2 1202C Perl 我是 Perl 脚本新手 我只想运行一个 Perl 程序 其中包含一个print语句 我将其保存在记事本中 名称为ex pl 我怎样
  • 使用 xarray 插值周期边界

    我想插入很多xarray数据集包含一个公共网格的全球气候数据 xarray实际上有一个interp http xarray pydata org en stable interpolation html 工作正常的方法 但据我所知 没有考虑
  • Spring Boot 是否自动解析 javax 和 hibernate 验证注解中的消息键

    我正在编写一个 Spring Boot 应用程序 我想知道 Spring Boot 是否自动解析 javax 和 hibernate 验证注释中的消息键 例如 NotEmpty message message key String name
  • 刷新页面删除引导选择样式

    我正在使用 bootstrap select 并且我是前端新手 我正在尝试在我的页面中实现 bootstrap 的多选组件 但是问题 我面临的是 当我将页面提交到服务器时 如果发生错误 它会从选择框中删除所有 css 类 并仅显示多选列表而
  • 在 django.core.urlresolvers reverse() 调用中包含查询字符串

    我正在尝试反转命名 URL 并在其中包含查询字符串 基本上我修改了登录功能 我想发送 next in it 这就是我现在正在做的事情 reverse name next reverse redirect 这是我想做的 reverse nam
  • 如何解析节点名称中包含无效字符的 XML?

    所以我试图解析一些 XML 其创建不在我的控制之下 问题是 他们以某种方式得到了如下所示的节点
  • 尝试通过 HTTPS 传递 swagger.json 时出现“未提供规范”错误

    如果我尝试使用 Flask RestPlus 通过 HTTPS 交付 Swagger UI 我只会在根 URL 处看到 未提供规范 错误消息 并且完整的 Swagger UI 永远不会加载 但是 如果我访问 API 端点 它们会按预期返回响
  • 无法安装 .NET Standard 2.0

    我正在尝试创建一个 NET Standard 2 0 项目 但是在项目属性页面上它仅具有最高 NET Standard 1 6 的选项 我转到 Visual Studio gt 工具 gt 扩展和更新 gt 更新 gt 产品更新 并将 Vi
  • 删除对象的私有属性

    尝试并搜索了这个 但似乎从未在 SO 中找到它 尝试使用unset this gt property name 但当我使用时它仍然出现print r object name 是否不可能删除对象的私有属性 这是一个示例代码 class my
  • ASP.NET 5 中的 URL 重写

    我使用的是 ASP NET 5 其中整个文件夹结构已更改 并且 web config 已替换 与以前的 ASP NET 版本相比 我正在使用 angularJS 进行客户端路由 并且我有以下路线 when movies add templa
  • 如何使 CPAN::Meta::Spec 的“先决条件”需要发行版而不是软件包?

    我正在研究如何打包我的一些 Perl 应用程序并更好地管理它们的依赖项 以使我和我的客户更容易分发 这很可能根本不包括上传到 CPAN 相反 如果有必要 我会提供自定义存储库 或者更可能的是 访问 Subversion 等 SCM CPAN
  • 你能以编程方式获取 Firefox 附加组件列表吗

    在查看了缓存等之后 我花了相当多的时间试图确定为什么我的网站视图与客户端不匹配 我们确定问题出在其中一个附加组件上 在这种特殊情况下为 Adblock Plus 如果我们能够有一种简单的方法来查询安装了哪些附加组件 并且最好是处于活动状态
  • Spark作业是什么?

    我已经完成了 Spark 安装并执行了一些设置主节点和工作节点的测试用例 也就是说 我对 Spark 上下文 而不是 SparkContext 中的作业到底意味着什么感到非常困惑 我有以下问题 工作与驱动程序有多么不同 应用程序本身是驱动程
  • 如何在多行字符中只显示一个标签?

    我使用 Chart js 创建一个图表 该图有两条线 因此它默认也显示两个标签 但我需要一种配置 其中应该显示红色标签 而应该隐藏蓝色标签 标签not线 感谢您的帮助 var config type line data labels 16
  • 创建自动调整大小的打印输出

    我的应用程序需要打印一些东西 布局应该有点动态 有时特定字段可能包含更多数据 这可能需要它们自动换行或类似的 但打印输出不应超过一页 如果数据太多 我想稍微减小字体大小 然后重试 然后重复 直到所有内容都适合一个页面 永远不会so许多数据的
  • CR 与 LF perl 解析

    我有一个 perl 脚本 它解析一个文本文件并将其每行分解为一个数组 当每行以 LF 终止时它工作正常 但当它们以 CR 终止时我的脚本无法正确处理 我该如何修改这一行来解决这个问题 my allLines split entireFile
  • 检查用户是否已连接 AppleWatch,而不提示手表

    我们正在使用谷歌分析 并想知道我们有多少用户拥有苹果手表 我在 Stack 中搜索了答案 反复出现的答案是使用这个 if WCSession isSupported check if the device support to handle
  • MySQL外键允许NULL吗?

    我正在拼凑一个图像网站 基本模式非常简单 MySQL 但我在尝试表示与图像关联的可能的管理标志 不适当 受版权保护 等 时遇到了一些麻烦 我目前的想法如下 tblImages imageID INT UNSIGNED NOT NULL AU