为什么UPDATE语句在SQL代码中不工作?



我正在尝试更新storeID列的一行。当我执行下面的第一个代码时,它运行了,但不会影响任何一行。然而,最下面的两个正在产生以下错误"UPDATE语句与REFERENCE约束"products_fk"冲突。冲突发生在数据库"group7"表"dbo.Products"列">

有人能帮忙吗?谢谢!

SQL中的表

UPDATE Store
SET storeID='E50'
WHERE storeID='D50'
AND storeID is Null;
UPDATE Store
SET storeID='E50'
WHERE storeID='D50'
UPDATE Store
SET storeID='E50'
WHERE storeName='A Plus Cables'

以上是我尝试过的代码,没有任何更新。

第一个不可能匹配任何行,因为单个值不能同时等于两个不同的东西:

WHERE storeID='D50'
AND storeID is Null

所以这是一个有争议的问题。您需要更新WHERE子句以针对您想要针对的记录。

对于后两者,错误是告诉你哪里出错了。您正在尝试将此值写入列:

SET storeID='E50'

但是错误告诉你:

  1. 该列是另一个表的外键。(Products?)
  2. 你正在写的值没有显示在另一个表中。

所以你的选项是:

  1. 使用是另一个表中存在的值。
  2. 使用NULL(必要时更新列允许NULL)。
  3. 删除其他表的外键约束。

相关内容

最新更新