-1

450 行の情報を追加する必要があるテーブルがあります。各行を一意の注文番号で識別でき、注文番号ごとにテーブルの 4 行を更新するだけで済みます。

update ordercontacts
set firstname = 'joe', lastname = 'smith', email = 'joesmith@smith.com', contacttypeid = 13
where orderid = 1284480

これは私の値を置き換えただけなので、修正する必要がありました

私もこれを試しました

insert into ordercontacts
(firstname, lastname, email, contacttypeid)
values
('joe', 'smith', 'jowsmith@smith.com', 13)
where orderid in (1284480)

しかし、構文は正しくなく、正しい構文が何であるかわかりません

私はこのようなものがうまくいくと思っていましたが、明らかにそうではありません。誰でも私を助けることができますか?各注文番号にはすでに別の連絡先が関連付けられています。基本的には、最終結果を次のようにしたいと考えています。

order     firstname   lastname        email               contacttypeid
1284480   joe        smith      joesmith@smith.com         13
1284480   steve      andrews      steve@steve.com         11

注文番号ごとに既存の連絡先の上に新しい連絡先を追加しようとしています。私が持っている更新の構文は、既に存在する情報を置き換えるだけです。

4

3 に答える 3

1
insert into ordercontacts
(orderid, firstname, lastname, email, contacttypeid)
values
(1284480,'joe', 'smith', 'jowsmith@smith.com', 13)
于 2012-10-26T17:54:36.723 に答える
1
insert into table_name (order, firstname, lastname, email, contacttypeid) 
values (1284480, 'joe'...);

更新するのではなく、値を挿入したい。更新は既存の値を上書きします。基本的には、「id = y の行の x を置き換える」ことです。Insert は実際に新しい行を作成します。

于 2012-10-26T17:55:20.557 に答える
1

注文番号ごとに既に存在する連絡先の上に、新しい連絡先を追加しようとしています。

更新ステートメントは、新しい行を挿入できません。投稿した更新ステートメントを介して「新しい連絡先を追加」することはできません。

insert声明が必要です。

于 2012-10-26T17:52:59.337 に答える