programing

테이블 수정:'Allow Nulls' 속성을 null이 아닌 상태에서 null을 허용하도록 변경하는 방법

subpage 2023. 4. 24. 23:13
반응형

테이블 수정:'Allow Nulls' 속성을 null이 아닌 상태에서 null을 허용하도록 변경하는 방법

T-SQL을 사용하여 테이블 내의 1개의 Atribut을 null(null이 아님)로 변경하려면 어떻게 해야 합니까?테이블 바꿀까?

-- replace NVARCHAR(42) with the actual type of your column
ALTER TABLE your_table
ALTER COLUMN your_column NVARCHAR(42) NULL

네, 사용할 수 있습니다.ALTER TABLE다음과 같습니다.

ALTER TABLE [table name] ALTER COLUMN [column name] [data type] NULL

문서에서 인용한 내용:

NULL에서 지정할 수 있다ALTER COLUMN강요하다NOT NULLprimary key 제약 조건의 열을 제외하고 null 값을 허용합니다.

ALTER TABLE이 맞습니다.

ALTER TABLE MyCustomers ALTER COLUMN CompanyName VARCHAR(20) NULL

MySQL의 경우 마리아DB

ALTER TABLE [table name] MODIFY COLUMN [column name] [data type] NULL

사용하다MODIFY COLUMN대신ALTER COLUMN.

ALTER TABLE public.contract_termination_requests
ALTER COLUMN management_company_id DROP NOT NULL;

한 번에 모든 테이블과 열을 null로 편집할 수 있도록 작성했습니다.

select 
case
when sc.max_length = '-1' and st.name in ('char','decimal','nvarchar','varchar')
then
'alter table  [' + so.name + '] alter column [' + sc.name + '] ' + st.name + '(MAX) NULL'
when st.name in ('char','decimal','nvarchar','varchar')
then
'alter table  [' + so.name + '] alter column [' + sc.name + '] ' + st.name + '(' + cast(sc.max_length as varchar(4)) + ') NULL'
else
'alter table  [' + so.name + '] alter column [' + sc.name + '] ' + st.name + ' NULL'
end as query
from sys.columns sc
inner join sys.types st on st.system_type_id = sc.system_type_id
inner join sys.objects so on so.object_id = sc.object_id
where so.type = 'U'
and st.name <> 'timestamp'
order by st.name

이를 위한 접근법은 다음과 같습니다.

  1. 테이블 또는 열이 있는지 확인합니다.
  2. 예인 경우 열을 변경합니다(예:-
IF EXISTS (SELECT 1 FROM INFORMATION_SCHEMA.COLUMNS WHERE 
            TABLE_CATALOG = 'DBName' AND 
            TABLE_SCHEMA = 'SchemaName' AND
            TABLE_NAME = 'TableName' AND
            COLUMN_NAME = 'ColumnName')
BEGIN
    ALTER TABLE DBName.SchemaName.TableName ALTER COLUMN ColumnName [data type] NULL
END  

스키마가 없는 경우 기본 스키마를 지정할 필요가 없으므로 스키마 줄을 삭제합니다.

가장 간단한 방법은

alter table table_name change column_name column_name int(11) NULL;

언급URL : https://stackoverflow.com/questions/3889916/modify-table-how-to-change-allow-nulls-attribute-from-not-null-to-allow-null

반응형