Mysql
 sql >> Datenbank >  >> RDS >> Mysql

MySQL-Syntax zum Einfügen einer neuen Zeile in mittlere Zeilen?

Sie müssen es in 2 Operationen aufteilen.

START TRANSACTION;

UPDATE table1 SET id = id + 1 WHERE id >= 3 order by id DESC;

INSERT INTO table1 (id, value) VALUES (3, 300);

COMMIT;

Beachten Sie, dass Sie order by benötigen in der Update-Anweisung, also beginnt es zuerst mit den höchsten IDs.

Eine andere Idee wäre, id zu deklarieren als decimal(10,1) und fügen Sie den Wert 2.5 ein als ID zwischen 2 und 3.