変更が発生したときにのみレコードを更新し、存在しない新しいレコードを追加するクエリを作成する方法

私は別のデータベースからリンクテーブルを形成するデータ(レコード)を取得するクエリを実行しています。 リンクされた表には、ウェブのようにリモートでフォームを使用するユーザーが入力されます。

私はリンクされたテーブルから次のように新しいテーブルにデータをクエリするこのコードを作成しました:

`INSERT INTO NEW_TBL(ENT_CUS_NUM, ENT_FIRST_NAME, ENT_LAST_NAME, ENT_ADDRESS1, ENT_CITY, ENT_STATE, ENT_ZIP, ENT_PHONE) 

SELECT LINK_TBL.CUS_NUM, LINK_TBL.FIRST_NAME, LINK_TBL.LAST_NAME, LINK_TBL.ADDRESS1, LINK_TBL.CITY, LINK_TBL.STATE, LINK_TBL.ZIP, LINK_TBL.PHONE 

FROM LINK_TBL`

レコードがまだ追加されていない場合にリンクテーブルから新しいレコードを挿入するようにこのクエリを変更することは可能ですか、または既存のレコードを更新しますか 変更されていますか?例:人が自分の住所を変更したとしましょう。アドレス変更のためにレコード全体を再挿入せずに自分の住所のみを更新または持ち帰ることはできますか?

これは混乱していますが、私は更新ステートメントを書くことができますが、このクエリを変更して新しいレコードを上書きしたり、レコードを更新したりするのは私の頭上です。

あなたのご意見とご協力に感謝いたします。

0
MergeまたはUpsertは、検索したいキーワードです。構文と可用性はdbに依存します。
追加された 著者 Glenn,

1 答え

フィールドを一意のキーとして指定できる場合は、少なくともmysqlでINSERT INTOの代わりにREPLACE INTOを使用できます

0
追加された
私は更新と挿入の両方を実行するために1つのステートメントを使用することを考えています。
追加された 著者 Asynchronous,