[sql] 널 입력 가능하도록 열 변경

테이블 열을 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;