Mysql
 sql >> Base de données >  >> RDS >> Mysql

Syntaxe MySQL pour insérer une nouvelle ligne dans les lignes du milieu ?

Vous devrez le scinder en 2 opérations.

START TRANSACTION;

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

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

COMMIT;

Notez que vous avez besoin du order by dans l'instruction de mise à jour, il commencera donc par les identifiants les plus élevés en premier.

Une autre idée serait de déclarer id comme decimal(10,1) et insérez la valeur 2.5 comme identifiant entre 2 et 3.