Avatar billede fredand Forsker
11. februar 2022 - 10:00 Der er 3 kommentarer og
1 løsning

Insert is blocked by a unique index

Hello,
By accident a row in a user table has been deleted.
Not a problem I thought, I just insert it again with the same values as before like
INSERT INTO users (id, username, password) VALUES (14, 'superman', '123qwe');
But the insert is blocked by a contstraint. The constraint turned out to be a unique index on the column username.

Is it possible to do the insert like this:
ALTER TABLE 'users' DISABLE CONSTRAINT 'users_con_unique_index';
INSERT INTO users (id, username, password) VALUES (14, 'superman', '123qwe');
ALTER TABLE 'users' ENABLE CONSTRAINT 'users_con_unique_index';

But do I risk to mess up the index by doing this?
Do I need to update the index in some how afterwards?
Best regards
Fredrik
Avatar billede erikjacobsen Ekspert
11. februar 2022 - 11:02 #1
Du skal prøve at rebuilde index først - det bør være helt harmløst.
Avatar billede fredand Forsker
11. februar 2022 - 11:14 #2
Thanks alot!
Avatar billede erikjacobsen Ekspert
11. februar 2022 - 12:23 #3
Men hvorfor er tabel og index kommet ud af sync? Det burde ikke kunne ske. Jeg har ingen er erfaring med Oracle.
Avatar billede kurt54 Ekspert
11. februar 2022 - 13:31 #4
kan det være fordi deleten ikke er commited ?
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester