2017-03-20 6 views
0

Ich versuche, eine neue Spalte zu einer Tabelle wie folgt hinzuzufügen, aber es wirft mich Fehler.neue Spalte mit nicht null hinzufügen

ALTER TABLE YBC.POLICY_NON_FIN ADD COLUMN PAY_FREQ CHARACTER(2) NOT NULL; 

[Fehler] Skriptzeilen: 26-27 ------------------------ In einer ALTER TABLE-Anweisung, die Spalte "PAY_FREQ" wurde als NOT NULL angegeben und entweder die DEFAULT-Klausel nicht angegeben wurde oder wurde angegeben als DEFAULT NULL .. SQLCODE = -193, SQLSTATE = 42601, DRIVER = 3.67.28

so kann ich nicht hinzufügen während alter-Anweisung nicht null. Muss ich als Standard hinzufügen?

+1

so hat die Tabelle bereits Daten, richtig ?. Und dann fügen Sie eine Spalte hinzu, die nicht 'NULL' sein kann, aber Sie haben keinen Standardwert angegeben. Welchen Wert sollte die Spalte haben? – Lamak

Antwort

2

einen Standard angeben, andernfalls wäre es null, wenn Sie es hinzufügen.

ALTER TABLE YBC.POLICY_NON_FIN 
    ADD COLUMN PAY_FREQ CHARACTER(2) NOT NULL default ''; 
+0

Sobald Sie die Spalte hinzugefügt haben, können Sie den Standardwert löschen: 'ALTER TABLE YBC.POLICY_NON_FIN ALTER SPALTE PAY_FREQ DROP DEFAULT ' –

Verwandte Themen