Just nu i M3-nätverket
Jump to content

lägga in kolumn i tabell error


stenmule

Recommended Posts

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

 

Link to comment
Share on other sites

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.

 

Link to comment
Share on other sites

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

 

Link to comment
Share on other sites

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.

 

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.



×
×
  • Create New...