私は、リレーショナルテーブルを扱っていると私は、テーブルにデータを挿入するときに確認する必要があり、クエリの数を低くする方法がある場合、私は思ってきた...ここでこれはMySQL上のリレーショナルテーブルを効率的にクエリする方法ですか?
私が現在使用してクエリは、次のとおりです。
「メイン」の値を挿入します。
INSERT INTO products
(title, description, status, url)
VALUES
('some title', 'description of doom', 1, 'some-title');
すでに存在しない場合にのみ値を挿入します。
INSERT IGNORE INTO values
(value)
VALUES
('example value');
私は、クエリが実際に挿入された場合、私はIDを取得わからないので...
SELECT id
FROM
values
WHERE
value = 'example value';
"?"最後のクエリから取得したIDです。
INSERT INTO link
(id_product, id_catalog, id_value)
VALUES
(33, 1, ?);
これは、私が追加する必要がある余分な値が3つのクエリにかかることを意味します。だから私の質問です:これを行うより効率的な方法はありますか?
これは実際に私にそれを行うにはかなり良い方法のように見えます。 –