INSERT查询中的嵌套SELECT

时间:2014-03-26 04:18:28

标签: c# mysql nested-query

这些是我的表格:

 Equipment
-------------
 ID INT (PKey)
 Name CHAR(10)
 Type CHAR(10)
 LocationID INT (FKey)
 Description TEXT

 Location
-------------
 LocationID INT (PKey)
 Name CHAR(10)
 Code INT

在输入新Location.Code时,系统会为用户提供一个Equipment列表供您选择。 (这是用户识别Equipment.LocationID的方式。)

但是,如果我将Location.Code的数据输入为Equipment.LocationID,则会破坏系统。这样做有更好的方法吗?例如,我是否可以想出一种方法来选择Location.LocationID并使用Equipment.LocationID代替?

注意我无法更改用户选择的内容,但必须保持不变。

例如(伪代码):

string userInput = "110"; // Location.Code
SELECT LocationID FROM Location WHERE Code = @userInput;

userInput = LocationID; // LocationID = 1;
INSERT INTO Equipment(LocationID) VALUES (@userInput);

这是最好的方式还是更有效的方式?

1 个答案:

答案 0 :(得分:1)

将两个查询合并为一个,如下所示

INSERT INTO Equipment(LocationID) SELECT LocationID FROM Location WHERE Code = '110';
相关问题