2010-11-25 13 views
3

背景:メッセージがベースそこで最初のもの(ある場合mysql - 列の値を挿入IDと同じに設定しますか?

Iはreceived_msgs

ためのテーブルであるデータベーステーブルを持っている2つの列

idlink_id

を有しますオンの基準)、そのlink_idは、idと同じです。

メッセージへの返信であれば、そのlink_idは返信先のメッセージのidと同じです。


質問:
IDと同じになるように link_idを設定するには、最初の挿入の方法はありますか?私は、インサートをやって、その後、別のクエリを実行し、更新、および INSERT_ID

に等しくなるようにlink_idを設定するしかし、私はそれのために2つのクエリを使用してのようにいけないのです現時点では

答えて

1

あなたはAFTER INSERTアクションにトリガを使用することができます。

しかし、私は強くあなたが隣接リストツリーのルートのためNULLを使用することをお勧めします。

+0

私は同意します。トリガを避ける。 'NULL'アプローチははるかにクリーンです。 – jwueller

0
INSERT into your_table (id, link_id) values (ID, ID); 
+2

あなたの質問には「ID」とは何ですか? OPはどこで手に入りますか? – zerkms

+0

IDは、id列の初期値です。 id列に自動インクリメント値を使用していたかどうかは分かりませんでした。そうでない場合は、生成されたIDを両方の列に挿入します。もしそうであれば、私は上記に同意し、最初の挿入のためにlink_idをnullに設定します。 –

関連する問題