10

基本的に私は製品をバージョン管理するテーブルを持っています、

したがって、関心のある2つの列があります。id | product_id

idautoincrement列で
product_idあり、int

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

挿入してからupdate table whatever set product_id = id where id = {the insert id}

これは機能しますが、1つのクエリでそれを行う方法があるかどうか疑問に思っていますか?

挿入、更新、削除にしかアクセスできないことに注意してください。トリガーやストアドプロシージャはありません。

4

2 に答える 2

2

LAST_INSERT_ID()次の関数を使用します。

update table whatever set
product_id = id
where id = last_insert_id()
于 2012-11-26T11:11:23.170 に答える
0

これは単一のクエリです。

insert into whatever 
set product_id = last_insert_id() + 1;
于 2014-08-13T18:39:08.520 に答える