Just nu i M3-nätverket
Gå till innehåll

lägga in kolumn i tabell error


stenmule

Rekommendera Poster

Har en tabell diselmotor med data i.

 

när jag försöker lägga till en kolumn så får jag error om att man inte kan lägga till en kolumn med not null... de, vad jag förstår, gör jag inte.

Är det någon som har en lösning om hur man kan lägga in kolumnen i tabellen?

 

CREATE TABLE "DIESELMOTOR"

( "OPTIONSCHEMA" VARCHAR2(255 BYTE) NOT NULL ENABLE,

"TID" TIMESTAMP (6)

) ;

 

ALTER TABLE DIESELMOTOR ADD REPORTID VARCHAR(64) PRIMARY KEY

 

ORA-01758: table must be empty to add mandatory (NOT NULL) column

 

 

/stenmule

 

Länk till kommentar
Dela på andra webbplatser

de, vad jag förstår, gör jag inte.

Jo, det är ju en primärnyckel du försöker lägga till och sådana får inte ha null-värden.

 

Länk till kommentar
Dela på andra webbplatser

men det funkar inte att kägga in en tabelll med not null.

vad gör jag för fel?

hur gör jag för att lägga in en kolumn med primärnyckel i en tabell som redan har data?

 

ALTER TABLE DIESELMOTOR ADD REPORTID VARCHAR(64) NOT NULL

hade samma error

 

Länk till kommentar
Dela på andra webbplatser

hur gör jag för att lägga in en kolumn med primärnyckel i en tabell som redan har data?

För att lägga in ett fält med NOT NULL-constraints så måste du även ange ett DEFAULT-värde. Men om fältet samtidigt har unik constraint så måste detta defaultvärde vara unikt. Hur man gör detta i Oracle (som jag chansar på är det du använder) vet jag inte. I SQL Server kan man ex. göra så här:

 

ALTER TABLE Table1 ADD REPORTID VARCHAR(64) UNIQUE NOT NULL
DEFAULT  NEWID()

och sedan får man väl ändra värdena i dessa fält efter vad som faktiskt skall ligga där.

 

Länk till kommentar
Dela på andra webbplatser

Arkiverat

Det här ämnet är nu arkiverat och är stängt för ytterligare svar.

×
×
  • Skapa nytt...