Spalteneigenschaft laesst sich nicht aendern

ingo preuss

Mitglied
Hallo,
eine meiner SQL-Tabellen aergert mich grad. Beim Kunden anlegen bekomme ich folgende Meldung:
Code:
   Warning:  sybase_query(): Sybase message:  The column KundenID in table 
   Kundendaten does not allow null values. (severity 16) in
   /home9/user/studenten/preussi/www/Uebung4/php/eingabe.php on line
Grad wollte ich das Feld mit folgender Anweisung aendern:
Code:
   1> ALTER TABLE Kundendaten CHANGE KundenID KundenID int NULL;
   2> go
   Msg 102, Level 15, State 1:
   Server 'athene12', Line 1:
   Incorrect syntax near 'KundenID'.
Frage: Wie kann ich dem Feld KundenID NULL-Werte oder IDENTITY erlauben?

Gruß,
Ingo
 
Kann es sein, dass da statt int -> INTEGER stehen muss ?

Und ich glaub, für NULL Werte muss der DEFAULT Wert dann auf NULL gesetzt werden, oder ? ka ..

Gruß Stefan
 
Zuletzt bearbeitet:
Hallo,
dein Vorschlag hat leider nicht funktioniert. Mit 'INTEGER' kommt der Fehler genauso wie mit 'int', obwohl ich deinen Vorschlag favorisiere. Ich arbeite auf einer Sybase-DB. Und hab jetzt folgendes versucht:
Code:
   ALTER TABLE Kundendaten CHANGE 'kundenID' 'kundenID' INTEGER IDENTITY;
woraufhin mir Sybase sagt:
Code:
   Error near 'CHANGE'
Ich probier derweil weiter.

Gruß,
Ingo
 
Hi, kann es sein, dass diese Spalte eine Schlüsselspalte ist?
Wenn ja, dann ist das Problem klar, Schlüsselspalten, dürfen keine NULL-Values enthalten
 
Hallo,
d.h. ich loesche zuerst den Primary Key und aendere dann das Feld und setze den PK danach wieder? Ich bin hier mit meinem Latein ziemlich am Ende. Ich wuerd's super finden, wenn einer 'nen Tipp gibt. Ich wuerd echt gern nen Kunden anlegen.

Gruß,
Ingo
 
nein, das heißt es nicht. Wenn du den PK löschst, und anschließend wieder setzt, hast du ja genau das, was ein PK nicht haben darf, nämlich einen NULL-Wert.
Aber wieso willst da unbedingt einen Kundenanlegen, der keine ID hat? Leg doch einen mit ID an. Ich versteh irgendwie den Sinn von deinem Problem nicht :confused:
 
Hallo,
ich habe jetzt die Tabelle geloescht und die Felder mit den entsprechenden Datentypen ausgestattet:
Code:
   create TABLE Kundendaten (
   	KundenID NUMERIC(10,0) IDENTITY,
   	Vorname varchar(30) NOT NULL,
   	Name 	varchar(40) NOT NULL,
   	Strasse varchar(50) NOT NULL,
   	PLZ 	INT NOT NULL,
   	Ort varchar(50) NOT NULL,
   	Email varchar(50) NOT NULL,
   	PRIMARY KEY(KundenID))
Ich kann mir ehrlich gesagt nicht erklaeren, warum ALTER TABLE ... nicht lief.

Gruß, Ingo
 
Zurück