Ich habe diese Tabelle mit den folgenden Spalten:INSERT INTO .. ON DUPLICATE KEY UPDATE mit mehreren Schlüsseln
id
userid
app
field
value
Die Spalten „Feld“ und „app“ zusammen sind einzigartig für die „Benutzer-ID“. So hat der Benutzer immer nur eine Zeile, die die gleichen "App" - und "Feld" -Werte zusammen aufweist. Aber sie werden mehr als eine Zeile haben, die nur den Wert "app" oder den Wert "field" gleich haben. Und es wird immer mehrere Zeilen mit der gleichen "Benutzer-ID" geben.
Ich bin nicht sicher, wie ich tun und mehrere Schlüssel einfügen oder aktualisieren kann. Ich kann sie in mysql nicht als eindeutig definieren, da der Wert für andere "userid" -Zeilen oder andere Zeilen mit einem anderen "app" - oder "field" -Wert verwendet werden kann.
Ist dies möglich oder muss ich zuerst eine SELECT durchführen, um zu prüfen, ob eine Zeile existiert, in der "userid", "app" und "field" übereinstimmen mit dem, was ich einfügen oder aktualisieren möchte.
Auch ich versuche, mehr als 1 Zeile mit einer einzigen Abfrage einzufügen/zu aktualisieren.
kippe Sie erstellen (Benutzer-ID, app, Feld) als einzigartige –
Der Zweck tun der eindeutigen Einschränkung ist so, dass MySQL alle Einsätze zurückweist, die es verletzen. –
In Kürze .... Ich möchte eine Zeile mit den Spalten "userid", "app" und "field" einfügen, aber wenn es bereits eine Zeile mit diesen 3 hat den gleichen Wert dann wird es diese Zeile aktualisieren. Wenn eine dieser Zeilen jetzt andere Zeilen-Maches unterscheidet, wird sie eingefügt. – PixelPaul