2016-10-17 28 views
1

我有一個表os它持有手機的操作系統。屬性是os_idnameos_id將從另一張表device使用。據我所知,每次我將在設備中插入一條新記錄時,我需要SELECT from osos_id它的name與用戶發送的相同。對於使用ids的所有信息(不僅適用於os)會發生這種情況。有沒有更好的解決方案來避免每次插入使用SELECT 3-4次?SQL - 在插入之前查找每個值的ID

注意: 這不是HTML項目。這是一項網絡服務,數據將從移動設備按字符串推送

+0

用戶如何使用下拉列表選擇/輸入這些值,如設備的操作系統? – saurav

+0

你有沒有試過SCOPE_IDENTITY()? – fable

+0

@saurav將是Web服務,它將作爲字符串從移動設備推送。 – BlackM

回答

0

最佳方法是從前端用戶接收os_id而不是os_name。我不知道你在用戶界面中使用的是什麼,但我建議使用由os_id填充的下拉列表作爲值,os_name作爲文本填充。當用戶選擇os_name時,相應的os_id將隨請求一起提交。

+0

感謝您的回答,但我並不清楚這將是一個web服務,並且os名稱將被移動設備自動推送。 – BlackM

0

你可以從用戶處獲得os_id。

<select name="os"> 
    <option value="os_id">name</option> 
</select> 

不要忘記在表格之間建立關係!在這種情況下,如果用戶的os_id不存在於os表中,則INSERT命令將返回錯誤。