【问题标题】:Unable to connect relationship between two tables (Error cannot insert value )无法连接两个表之间的关系(错误无法插入值)
【发布时间】:2020-09-01 05:08:09
【问题描述】:

我目前正在建立 Product 和 Order(DonHang) 之间的关系,出于某种原因,我收到了这样的错误消息:

无法在 Quantity 列中插入空值。

我搜索并应用了几个配置后,仍然是同样的错误。

我做了什么:

  • 在产品表中输入数据
  • 身份规范切换到是
  • 通过查询生成表
  • 其中两个表设置了主键

我不知道是什么问题导致了这个问题。

【问题讨论】:

  • 您的Quantity 列不允许空值,但也没有默认值。您尝试执行的操作显然是尝试插入空值。鉴于您不允许空值,我想您可能想在 Quantity 上设置一个默认值,可能为零?
  • @Dale K 我想将 Quantity 设置为至少将一些数据放在上面和 this 上。为什么我不允许在列中使用空值,因为我不希望任何信息为空白。我可能对这个陈述有误,但澄清一下会很好。
  • 我的猜测是 SSMS 正在删除表格并在引擎盖下重新创建它,或者类似的东西。您可以尝试编写关系脚本,因为这不会做任何意外。
  • @DaleK 那么,这样的话,可以在MS access上建立关系吗?或者您需要直接从 MS SQL 建立关系
  • 您需要某种方式对数据库运行 SQL...我不知道这是否可以从 Access 中实现。

标签: sql sql-server datatable


【解决方案1】:

错误信息很清楚! 无法在 Quantity 列中插入空值。 此错误是关于将 null 插入到字段 Quantity 中,即 NOT NULL

试试这些:

--alter column Quantity  to accept nulls
1- ALTER TABLE PRODUCTION ALTER COLUMN Quantity INT NULL 

--alter column Quantity  to set default value 0 if it is null
2- ALTER TABLE PRODUCTION  add constraint dt_Quantity default 0 for Quantity

【讨论】:

  • 嘿,我已经应用了代码,但它不起作用。尽管成功应用了查询,但错误仍然存​​在
  • @PhạmQuốcMinhĐăng 那是不可能的 - 也许你将它应用到不同的表或数据库。但是,如果您运行这些脚本中的任何一个,它们都会阻止您显示的错误。
  • @DaleK 嘿,感谢您揭露我的错误。我真的很感激。我搞定了
猜你喜欢
  • 1970-01-01
  • 2012-06-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-10-23
  • 2018-07-17
  • 1970-01-01
相关资源
最近更新 更多