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

Sintassi MySQL per inserire una nuova riga nelle righe centrali?

Dovrai dividerlo in 2 operazioni.

START TRANSACTION;

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

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

COMMIT;

Nota che hai bisogno di order by nella dichiarazione di aggiornamento, quindi inizierà prima con gli ID più alti.

Un'altra idea sarebbe dichiarare id come decimal(10,1) e inserisci il valore 2.5 come id tra 2 e 3.