2016-08-02 7 views
-2

Ich habe zwei Tabellen, und sie sindeinfügen oder aktualisieren, wenn MYSQL Exist

Tabelle Empfangen

enter image description here

und Tabelle GeneralInventory

enter image description here

Meine Frage ist, wie kann ich einlegen die Daten von Receiving bis GeneralInventory wenn die Daten nicht die gleichen sind? oder wenn es gleich ist, aktualisieren Sie die Spalte QtyPack Von generalinventory fassen Sie es zusammen.

TYSM

+0

Mögliche Duplikat [? Wie 'einfügen, wenn nicht vorhanden ist' in MySQL] (http://stackoverflow.com/questions/1361340/how-to -insert-if-not-exists-in-mysql) – Pred

Antwort

0

können Sie INSERT ... ON DUPLICATE KEY UPDATE verwenden. Dazu benötigen Sie einen eindeutigen Index oder einen Primärschlüssel in Ihrer Tabelle, damit Duplikate über den Index erkannt werden können.

Dann würde Ihre Abfrage wie folgt sein:

INSERT INTO GeneralInventory (ItemCode, QtyPack) 
SELECT ItemCode, QtyPack 
FROM Receiving 
ON DUPLICATE KEY UPDATE 
SET QtyPack = QtyPack + VALUES(QtyPack); 
+0

Es funktioniert Sir und TYSM dafür, aber es hat keine SUM-update und seine vorhandenen Daten nicht ersetzen. –

+0

Bearbeitete meine Antwort, um es zusammenzufassen. – fancyPants

Verwandte Themen