mysql - 约束 Foregin Key 允许为空?
问题描述
我有这两张表:
Table1
ID,int(Key) not null
Name,nvarchar not null
Table2
MyCode, int(key) not null
Year, int(key) not null
ExternalCode,int(Fkey) null
约束
ALTER TABLE "Table2" WITH CHECK
ADD CONSTRAINT"FK_Table2_Table1_ExternalCode" CHECK ([ExternalCode] IS NOT NULL) REFERENCES [Table1] (ID)
ALTER TABLE "Table2" CHECK CONSTRAINT "FK_Table2_Table1_ExternalCode";
SQL 服务器在 REFERENCES 中报告语法错误,如何创建约束?或者更确切地说,如果我的键(ExternalCode)可以为空,是否可以在外键上插入约束?
编辑... Table2 索引是 MyCode,year,ExternalCode,在某些由应用程序的配置参数决定的条件下,Table1 可以为空,并且无法向其写入记录,因此在这些情况下 ExternalCode 可以为空,在其他情况下或当 Table1 有记录时(为什么不在我修改该条件后立即在 Table1 上写入记录)
解决方案
推荐阅读
- python - 无法将滚动条添加到画布小部件
- android - OSM+Leaflet 磁贴未加载或显示(Android-Cordova)
- python - 显示每个单词的字数
- sql - 使用sql删除零序列之前的时间序列
- javascript - React:遍历对象数组
- ruby-on-rails - gemfile中的ruby版本与本地ruby之间的冲突
- python - 在 Python 中,有没有办法从字符串中的值创建标头?
- c# - Xamarin 添加 wcf 服务,我无法在 IOS 中运行我的项目
- windows - 如何从没有文件扩展名的目录中检索文件名列表
- arrays - Convert subroutine to a function that can be used in a formula