IT

널 입력 가능하도록 열 변경

lottoking 2020. 3. 18. 23:18
반응형

널 입력 가능하도록 열 변경


테이블 열을 nullable로 변경하고 싶습니다. 나는 사용했다 :

ALTER TABLE Merchant_Pending_Functions Modify NumberOfLocations NULL

에 오류가 발생 Modify합니다. 올바른 구문은 무엇입니까?


가정 SQL Server(이전 질문을 바탕으로 함) :

ALTER TABLE Merchant_Pending_Functions ALTER COLUMN NumberOfLocations INT NULL

교체 INT실제 데이터 유형.


Oracle Database 10g 사용자의 경우 :

alter table mytable modify(mycolumn null);

다른 방법으로 시도하면 "ORA-01735 : 잘못된 ALTER TABLE 옵션"이 나타납니다.

ALTER TABLE mytable ALTER COLUMN mycolumn DROP NOT NULL;

이것이 MySQL 구문 인 경우 다른 응답이 지적했듯이 유형이 누락되었을 수 있습니다. 올바른 MySQL 구문은 다음과 같습니다.

ALTER TABLE Merchant_Pending_Functions MODIFY NumberOfLocations INT NULL

MySQL 사용자에게 명확성을 위해 여기에 게시하십시오.


PostgresQL에서 다음과 같습니다.

ALTER TABLE tableName ALTER COLUMN columnName DROP NOT NULL;

어떤 RDBMS를 사용하고 있는지 잘 모르겠지만, 이제는 Null 허용을 원한다고 말하지 않고 전체 열 사양을 제공해야 할 것입니다. 예를 들어, 현재 INT NOT NULL인 경우을 발행해야합니다 ALTER TABLE Merchant_Pending_Functions Modify NumberOfLocations INT.


다른 사람들이 관찰했듯이 명령의 정확한 구문은 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>

HSQLDB의 경우 :

ALTER TABLE tableName ALTER COLUMN columnName SET NULL;

ALTER TABLE Merchant_Pending_Functions MODIFY COLUMN `NumberOfLocations` INT null;

이것은 당신을 위해 일할 것입니다.

널이 아닌 열을 변경하여 널을 허용하려는 경우 널이 아닌 절을 포함하지 않아도됩니다. 기본 열은 null이 아니므로

ALTER TABLE Merchant_Pending_Functions MODIFY COLUMN `NumberOfLocations` INT;

오라클에서

ALTER TABLE Merchant_Pending_Functions MODIFY(SQL_SCRIPT NOT NULL);

참고 URL : https://stackoverflow.com/questions/3556890/altering-a-column-to-be-nullable

반응형