sql-server - MS SQL Server 更新外键
问题描述
您好我正在尝试使用 FK 约束更新我的表上的数据。所以我有这两张桌子。
我正在尝试更新 PID 1 并将其 ProductName 设置为 Burger 并根据 CategoryName 将其 CID 更改为 2 食品。
这是我到目前为止所尝试的,
UPDATE PRODUCTS
SET PRODUCTS.ProductName = 'Burger ',
PRODUCTS.CID = CATEGORY.CID
FROM PRODUCTS INNER JOIN CATEGORY ON PRODUCTS.CID = CATEGORY.CID
WHERE PID = '1' AND CATEGORY.CategoryName = 'Food';
它有效,但没有更新行。知道我错过了什么吗?非常感谢。
解决方案
在当前不是所以加入cid
不是因此子句不匹配。products
2
categoryname
'Food'
WHERE
我只是在这里使用一个子查询。
UPDATE products
SET productname = 'Burger',
cid = (SELECT cid
FROM category
WHERE categoryname = 'Food')
WHERE pid = 1;
推荐阅读
- android - Android按钮文本对齐不起作用
- r - 如何从一组 N 个对象中选择 n 个对象,最大化它们之间的成对距离之和
- postgresql - 如何安装和启动 PostgreSQL 作为独立的基于 Python 的应用程序的一部分?
- python - Pandas:如何找到列的分箱均值
- bash - 从文件中获取特定字符串
- docker - 如何在 kubectl set 映像上指定注册表凭据?
- c# - 透明表单莫名其妙只通过了一些触摸输入
- powerbi-desktop - PowerBI 我需要计算 datediff
- c# - Dapper 使用 where 子句插入外键 ID
- python - 如何在 Pandas DataFrame 中为我的预测结果添加一列,然后另存为 CSV?