回答:
Oracle Database 10gユーザーの場合:
alter table mytable modify(mycolumn null);
それ以外の場合、「ORA-01735:無効なALTER TABLEオプション」が表示されます
ALTER TABLE mytable ALTER COLUMN mycolumn DROP NOT NULL;
どのRDBMSを使用しているかはわかりませんが、おそらく列仕様全体を指定する必要があります。これをnull可能にしたいだけではありません。たとえば、現在のINT NOT NULL場合は、を発行する必要がありますALTER TABLE Merchant_Pending_Functions Modify NumberOfLocations INT。
Null。NOT NULLが指定されていない場合、列はnull入力可能になります。
他の人が観察したように、コマンドの正確な構文は、DBMSの種類によって異なります。使用する構文は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>
ALTER TABLE Merchant_Pending_Functions MODIFY COLUMN `NumberOfLocations` INT null;
これはあなたのために働くでしょう。
null以外の列をnullを許可するように変更する場合は、not null句を含める必要はありません。デフォルトの列はnullにならないためです。
ALTER TABLE Merchant_Pending_Functions MODIFY COLUMN `NumberOfLocations` INT;
これは、使用しているSQLエンジンによって異なります。Sybaseでは、コマンドは正常に機能します。
ALTER TABLE Merchant_Pending_Functions
Modify NumberOfLocations NULL;
オラクル
ALTER TABLE Merchant_Pending_Functions MODIFY([column] NOT NULL);