Ich möchte eine INSERT INTO-Abfrage haben, welche eines der Felder, die ich aktualisiere, ist eine berechnete var 'mycount' - die die Nummer der eingefügten Zeile in der Abfrage sein wird.INSERT INTO mit Inkrement Variable
Zum Beispiel: Wenn ich 3 Zeilen einfüge, möchte ich, dass diese Variable "1" für die erste Zeile, "2" für die zweite und so weiter ist.
SET @mycount=0;
INSERT INTO my_table
(@mycount,field1,field2,field3...)
SET @[email protected]+1;
SELECT @mycount,field1,field2,field3..
FROM my_table
WHERE id IN (id1,id2,id3..);
Dieser Code gibt einen Fehler zurück. Wie kann ich eine Variable innerhalb einer INSERT INTO-Abfrage deklarieren und mit jeder eingefügten Zeile erhöhen?
WICHTIG - Ich brauche keine AUTO-INCREMENT-Spalte - dies ist ein Teil einer Berechnung, die nur in dieser spezifischen INSERT INTO-Abfrage ausgeführt werden muss, und sie ist nur ein Teil der Berechnung. Was ich brauche, ist wirklich eine Berechnung von (number_of_inserted_row + some_other_calculation), aber ich habe es nur für die Frage vereinfacht.
Warum nicht 'auto_increment' verwenden? –
Sie können dies tun, indem Sie neues Feld hinzufügen, die Sie wie count_number einfügen und Auto Inkrement dieses Feld definieren und nicht in diese Abfrage –
überprüfen möchten, überprüfen Update Antwort –