2017-04-27 8 views
0

私は以下の問題を述べました。書き込み方法1つのクエリでの挿入と更新クエリmysqlのクエリ

私はPHPを使用して在庫システムを開発しています。私は、テーブルに請求項目を追加することが必要であることによる

受け取ったアイテムの詳細を収集するために動的に生成されるテキストボックス。

私はcurrent_stockテーブルを持っており、それは、項目名と数量列が含まれています。

項目名はプライマリキーフィールドです。私はすでに数量が新しい値で更新する必要があります(存在する場合)を挿入しようと思って

アイテム。

が存在していない場合は、新しい行として挿入されるべきです。

これはループで実行する必要があります。なぜなら私は動的に生成されたテキストボックスを使用し、$ item []と$ qty []配列を使ってデータを収集するからです。私は

は、forループで実行することができませんでしたが、まだ成功、この問題を解決するために、いくつかの方法を使用するようにしてください。私はこれが働くことを願っています

mysqli_multi_query("INSERT INTO TABLE SET Field='Value',FieldB='ValueB'; 
UPDATE TABLE SET Field='Value',FieldB='ValueB' WHERE FIELDID='VALUEID';") 

あなたはこのよう

mysqli_multi_query() 

を使用する必要が.........複数のクエリexcutionため

+0

このチェック:https://www.xaprb.com/blog/2006/02/21/flexible-insert-and-update-in-mysql/ – Jenish

+0

はStackOverflowのへようこそ。どのくらい試してみたかを証明するコードを示して、問題の内容を説明しながら他のメンバーの問題をよりよく理解できるようにしてください。 https://stackoverflow.com/help/how-to-ask –

答えて

0

私を助けてください。楽しむ。

+0

は動作していますか? –

+0

はい、しかし接続文字列を使用する必要があります –

+0

mysqli_multi_query($ con、 "INSERT INTO TABLE SET Field = 'Value'、FieldB = 'ValueB'; UPDATE TABLE SET Field = 'Value'、FieldB = 'ValueB' WHERE FIELDID = 'VALUEID'; ") –

1

あなたはこれを試すことができます。

INSERT INTO table (id, item_name, qty) VALUES(1, "A", 19) ON DUPLICATE KEY UPDATE  
item_name="A" 

あなたがON DUPLICATE KEY UPDATEを指定すると、行がUNIQUEインデックスまたはPRIMARY KEY内の重複値を引き起こすことに挿入され、MySQLは古い行のUPDATEが実行されます。

+0

主な問題は、私の問題ですので、重複したKET UPDATEを実行することができません....{ $ query2 = "INSERT INTO received_items(po_id、invoice_number、$ i = 0; $ i

+0

重複キー更新で実行できない理由は何ですか?エラーがあります – MohanaPriyan

+0

Item-nameはプライマリキーフィールドなのでunique.itもうまく動作します。 – Nidhi

関連する問題