Sql server MS SQL Server更新外键
您好,我正在尝试使用FK约束更新表上的数据。 我有两张桌子 我正在尝试更新PID 1,并将其ProductName设置为Burger,并根据CategoryName(食品)将其CID更改为2 这就是我到目前为止试过的Sql server MS SQL Server更新外键,sql-server,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.CI
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当前不是2,因此加入的categoryname不是“Food”,因此WHERE子句不匹配
我只需要在这里使用一个子查询
UPDATE products
SET productname = 'Burger',
cid = (SELECT cid
FROM category
WHERE categoryname = 'Food')
WHERE pid = 1;
其中PID='1'和CATEGORY.CategoryName='Food'。。。表中没有符合此条件的行。您必须先单独更改CID,然后它才能工作。谢谢您,先生。