2012-11-26 2 views
6

基本的に私はそれが関心の2つの列があり、id | product_id挿入時に別の列にオートインクリメントの値をコピーしますか?製品が最初である場合には

id
product_idautoincrement列、あるバージョンの製品、

テーブルを持っているだけでint

ですproduct_idid、 から作成されています。製品を編集すると行が複製されるため、product_idは同じですが、IDは異なりますent。我々は最初の製品を作成するときに、我々は2つのクエリ、

挿入し、update table whatever set product_id = id where id = {the insert id}

を行うこれは動作しますが、1つのクエリでそれを行う方法がある場合、私は疑問に思って?

挿入、更新、削除のみアクセスできます。トリガーもストアドプロシージャもありません。

update table whatever set 
product_id = id 
where id = last_insert_id() 

答えて

2

LAST_INSERT_ID()機能を使用

我々がやっているが、中に2つの値をリンクさせる方法があった場合、私は思っていたものを、本質的だ
insert into whatever 
set product_id = last_insert_id() + 1; 
+2

挿入物? – Hailwood

+0

カタログ表を照会して、次の増分値を見つけることができます。どちらが忘れていますか – Bohemian

+3

これは質問に対する回答ではありません。 – inemanja

0

これは、単一のクエリは次のとおりです:

+1

行を挿入するテーブルが複数ある場合は、これが動作するという保証はありません。 –

関連する問題