0

これが私の問題です:

    USER TABLE

id  uploader_name   email
1   abhijit         xxx@email.com
2   rahul           abc@email.com


    UPLOAD TABLE

ID  USER_ID     IMAGE_URL
1   1           UPLOAD/XXX.JPG
2   1           UPLOAD/ABC.JPG
3   2           UPLOAD/CD.JPG

USER_IDin tableUPLOAD TABLEidin tableを接続する方法はUSERS TABLE? したがって、USER_IDフィールドは自動的に更新されます。
今私の問題はUSER_ID、テーブルにデータを追加する方法UPLOAD TABLEです。を除くすべてのフィールドにデータを追加できますUSER_ID

4

2 に答える 2

1

この場合、アップロードテーブルのuser_idフィールドを更新するトリガーを追加できます。トリガーとフィールドを自動的に更新する方法について知るのに役立つこのリンクを参照してください。

于 2012-12-20T07:05:38.370 に答える
0

あなたの質問が次のような場合: 最初に、USER_ID を知らずに UPLOAD テーブルにコンテンツを追加します。そして、それがわかったら、USER_ID にパッチを適用しようとしています。しかし、その時までに、データはすでにデータベースに挿入されています。

考えられる答え: 各挿入の後、LAST_INSERT_ID()を呼び出して、最後に挿入されたテーブルの auto_increment 値を取得できます。この ID を使用して、後でこの user_id を使用して UPLOAD テーブルにパッチ (UPDATE) を適用します。 http://dev.mysql.com/doc/refman/5.0/en/information-functions.html#function_last-insert-id

それ以外の場合: USER テーブルが変更された場合、user_id の ID を更新します。この場合、適切な関係を維持できるように、外部キー制約のある innodb テーブルを使用してください。さらに、ON UPDATE CASCADEを使用して、ID の変更を他のテーブルに反映します。

とにかく、問題をさらに説明してください。

于 2014-06-15T09:58:04.140 に答える