2016-10-17 11 views
1

携帯電話のOSを持っているテーブルosがあります。属性はos_idnameです。 os_iddeviceと呼ばれる別のテーブルから使用されます。私が今まで私がデバイスに新しいレコードを挿入するたびに私はSELECTからosまでos_idからそれがnameと同じであることを知っています。これはidsosだけでなく)を使用しているすべての情報で発生します。 SELECT 1回の挿入につき3-4回使用することを回避するためのよりよい解決策がありますか?SQL - 挿入する前に各値のIDを見つける

注: これはHTMLプロジェクトではありません。それはWebサービスであり、データはモバイルデバイスから文字列としてプッシュされます

+0

ユーザがデバイスのOSのようにドロップダウンリストを使用してこれらの値を選択/入力する方法は? – saurav

+0

SCOPE_IDENTITY()を試したことがありますか? – fable

+0

@saurav Webサービスとなり、モバイルデバイスから文字列としてプッシュされます。 – BlackM

答えて

0

ベストアプローチは、os_nameではなくフロントエンドユーザーからos_idを受け取ることです。 UIで何を使っているのか分かりませんが、値としてos_idとテキストとしてos_nameを入力してドロップダウンを使用することをお勧めします。ユーザーがos_nameを選択している間は、それぞれos_idがリクエストされて送信されます。

+0

答えてくれてありがとうございますが、私はこれがwebserviceになり、osの名前がモバイルによって自動的にプッシュされるようにはっきりしていませんでした。 – BlackM

0

ユーザーからos_idを取得できます。

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

テーブル間のリレーションシップを作成することを忘れないでください。この場合、INSERTコマンドは、ユーザーのos_idがos表に存在しない場合はエラーを戻します。

関連する問題