Bip*_*Bip 1 c# foreign-keys sql-server-2008
首先,我尝试将此数据插入到由外键链接的表中,但没有得到答案.
我有3张桌子:
表:客户
ID -------LastName-------FirstName-------PhoneNumber
Run Code Online (Sandbox Code Playgroud)
表:订单
ID-------Status-------CustomerID
Run Code Online (Sandbox Code Playgroud)
表:OrderLine
ID-------OrderID-------Product-------Quantity-------PricePerUnit
Run Code Online (Sandbox Code Playgroud)
我运行以下查询
SqlCommand myCommand2 =
new SqlCommand(@"INSERT INTO Order (Status, CustomerID)
VALUES(13016, SELECT ID FROM Customers WHERE FirstName = 'Garderp')",
myConnection);`
Run Code Online (Sandbox Code Playgroud)
它抛出异常
Order附近的语法错误
如何在SQL Server 2008中使用外键将数据添加到表中,尤其是在这种特殊情况下?
ORDER
是SQL Server中的保留关键字(在ORDER BY
操作中使用).
您需要用括号分隔该名称:
"INSERT INTO [Order] (Status, CustomerID) VALUES "
这将导致SQL Server将其视为对象名称,而不是将其作为关键字读取.
它应该是:
SqlCommand myCommand2 = new SqlCommand(@"INSERT INTO [Order] (Status, CustomerID) "
+ " SELECT 13016, ID
FROM Customers
WHERE FirstName = 'Garderp')"
, myConnection);
Run Code Online (Sandbox Code Playgroud)