Chcę zmienić kolumnę tabeli, aby być zerowalne. Użyłem:Zmiana kolumna być nullable
ALTER TABLE Merchant_Pending_Functions Modify NumberOfLocations NULL
Daje to błąd przy Modify
. Jaka jest prawidłowa składnia?
Chcę zmienić kolumnę tabeli, aby być zerowalne. Użyłem:Zmiana kolumna być nullable
ALTER TABLE Merchant_Pending_Functions Modify NumberOfLocations NULL
Daje to błąd przy Modify
. Jaka jest prawidłowa składnia?
Zakładając SQL Server
(na podstawie wcześniejszych pytań):
ALTER TABLE Merchant_Pending_Functions ALTER COLUMN NumberOfLocations INT NULL
Wymień INT
rzeczywistą typu danych.
Chociaż nie wiem, jakiego RDBMS używasz, prawdopodobnie powinieneś podać całą specyfikację kolumny, a nie tylko powiedzieć, że teraz chcesz ją unieważnić. Na przykład, jeśli obecnie jest to INT NOT NULL
, powinieneś wydać ALTER TABLE Merchant_Pending_Functions Modify NumberOfLocations INT
.
To jest poprawna i opisowa odpowiedź, więc wystarczy wyjaśnić, czy 'Null' | "NOT NULL" nie jest określony, kolumna będzie zerowalna. –
Jak zauważyli inni, dokładna składnia polecenia różni się w zależności od smaków DBMS. Składnia korzystania z dzieł w Oracle:
SQL> desc MACAddresses
Name Null? Type
----------------------------------------- -------- ----------------------------
COMPUTER NUMBER
MACADDRESS VARCHAR2(12)
CORRECTED_MACADDRESS NOT NULL VARCHAR2(17)
SQL> alter table MACAddresses
2 modify corrected_MACAddress null
3/
Table altered.
SQL> desc MACAddresses
Name Null? Type
----------------------------------------- -------- ----------------------------
COMPUTER NUMBER
MACADDRESS VARCHAR2(12)
CORRECTED_MACADDRESS VARCHAR2(17)
SQL>
Oracle użytkowników Database 10g:
alter table mytable modify(mycolumn null);
dostać "ORA-01735: nieprawidłowy ALTER opcja TABELA" podczas próby inaczej
ALTER TABLE mytable ALTER COLUMN mycolumn DROP NOT NULL;
Cool, nie musisz określać typu danych, po prostu "null", aby uczynić go zerowalnym. –
Jeśli była to składnia MySQL, typ nie byłby dostępny, jak wskazują niektóre inne odpowiedzi. Poprawna składnia MySQL byłby:
ALTER TABLE Merchant_Pending_Functions MODIFY NumberOfLocations INT NULL
zamieszczaniu tu dla jasności dla użytkowników MySQL.
w PostgreSQL to:
ALTER TABLE tableName ALTER COLUMN columnName DROP NOT NULL;
Proszę opublikować komunikat o błędzie w przyszłości –
Usunąłem tag SQL Server, jak wygląda ten stał się ogólnie za darmo dla wszystkich. –