Espongo il mio problema:

Ho una tabella tab1 in mysql:

tab1(id ,info)

supponendo che lo stato della tabella in un generico istante sia:

id info

1 xxx

2 yyy

3 zzz


avrei bisogno di inserire "sotto" al campo xxx una informazione( ad esempio di valore kkk)
il cui id sia quindi 2, incrementando gli id di yyy e zzz.

quindi tab1 dovrebbe diventare:

id info

1 xxx

2 kkk

3 yyy

4 zzz

prima di inserire kkk, dovrei "fargli spazio" con una query
ovvero mettere l'id di yyy a 3 e di zzz a 4

il problema è che se uso una query del tipo
codice:
UPDATE tab1 SET id = id+1 WHERE id>=2
non va, perchè id è primary key, la query incrementa prima yyy il cui id va 3 come quello di zzz (che non è ancora stato incrementato): quindi la query fallisce.

qualcuno ha delle idee su come si potrebbe fare?