sql >> Database teknologi >  >> RDS >> Mysql

MySQL-syntaks til at indsætte en ny række i midterste rækker?

Du bliver nødt til at opdele det i 2 operationer.

START TRANSACTION;

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

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

COMMIT;

Bemærk, at du skal bruge order by i opdateringserklæringen, så den starter med de højeste id'er først.

En anden idé ville være at erklære id som decimal(10,1) og indsæt værdien 2.5 som id mellem 2 og 3.



  1. Brug af Jenkins med Kubernetes AWS, del 1

  2. Hvordan kan jeg tilføje en kolonne, der ikke tillader null i en Postgresql-database?

  3. Sådan sletter du et SQL Server Agent-job i Azure Data Studio

  4. JPA indsæt forældre/barn resultater i MySQLIintegrityConstraintViolationException