테이블 열을 nullable로 변경하고 싶습니다. 나는 사용했다 :
ALTER TABLE Merchant_Pending_Functions Modify NumberOfLocations NULL
에 오류가 발생 Modify합니다. 올바른 구문은 무엇입니까?
테이블 열을 nullable로 변경하고 싶습니다. 나는 사용했다 :
ALTER TABLE Merchant_Pending_Functions Modify NumberOfLocations NULL
에 오류가 발생 Modify합니다. 올바른 구문은 무엇입니까?
답변:
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이 지정되지 않으면 열은 널 입력 가능합니다.
다른 사람들이 관찰했듯이 명령의 정확한 구문은 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이 아니므로
ALTER TABLE Merchant_Pending_Functions MODIFY COLUMN `NumberOfLocations` INT;
이것은 Sybase에서 어떤 SQL 엔진을 사용 하느냐에 따라 다릅니다.
ALTER TABLE Merchant_Pending_Functions
Modify NumberOfLocations NULL;
신탁
ALTER TABLE Merchant_Pending_Functions MODIFY([column] NOT NULL);