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
Kategori
Computerworld tilbyder specialiserede kurser i database-management

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