열을 변경하고 기본값을 변경하는 방법은 무엇입니까?
열의 데이터 형식을 변경하고 새 기본값을 설정하는 동안 다음 오류가 발생했습니다.
ALTER TABLE foobar_data ALTER COLUMN col VARCHAR(255) NOT NULL SET DEFAULT '{}';
오류 1064 (42000) : SQL 구문에 오류가 있습니다. 1 행에서 'VARCHAR (255) NOT NULL SET DEFAULT'{} '근처에서 사용할 올바른 구문에 대해서는 MySQL 서버 버전에 해당하는 매뉴얼을 확인하십시오.
ALTER TABLE foobar_data MODIFY COLUMN col VARCHAR(255) NOT NULL DEFAULT '{}';
동일한 작업을 수행하는 두 번째 가능성 (juergen_d 덕분에) :
ALTER TABLE foobar_data CHANGE COLUMN col col VARCHAR(255) NOT NULL DEFAULT '{}';
후속 조치로, 기본값을 설정하려면 ALTER .. SET 구문을 사용할 수 있는지 확인하십시오. 거기에 다른 모든 것을 넣지 마십시오. 나머지 열 정의를 넣으려면 허용 된 답변에 따라 MODIFY 또는 CHANGE 구문을 사용하십시오.
어쨌든 열 기본값을 설정하기위한 ALTER 구문은 (제가 여기 왔을 때 찾고 있었기 때문에) :
ALTER TABLE table_name ALTER COLUMN column_name SET DEFAULT 'literal';
어떤 'literal'도 숫자가 될 수 있습니다 (예 :) ...SET DEFAULT 0
. 나는 그것을 시도하지 ...SET DEFAULT CURRENT_TIMESTAMP
않았지만 왜 그렇지 않습니까?
이미 생성 된 열에 기본값을 추가하려면 다음과 같이하십시오.
ALTER TABLE Persons
ALTER credit SET DEFAULT 0.0';
DEFAULT CURRENT_TIMESTAMP의 경우 :
ALTER TABLE tablename
CHANGE COLUMN columnname1 columname1 DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
CHANGE COLUMN columnname2 columname2 DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP;
이중 열 이름 선언에 유의하십시오
DEFAULT CURRENT_TIMESTAMP 제거 :
ALTER TABLE tablename
ALTER COLUMN columnname1 DROP DEFAULT,
ALTER COLUMN columnname2 DROPT DEFAULT;
위의 내용이 효과가없는 경우 (예 : 새 SQL 또는 Azure 로 작업중인 경우) 다음을 시도하십시오.
1) 기존 열 제약 조건을 삭제하십시오 (있는 경우).
ALTER TABLE [table_name] DROP CONSTRAINT DF_my_constraint
2) 새로운 것을 만듭니다 :
ALTER TABLE [table_name] ADD CONSTRAINT DF_my_constraint DEFAULT getdate() FOR column_name;
이 시도
ALTER TABLE `table_name` CHANGE `column_name` `column_name` data_type NULL DEFAULT '';
이처럼
ALTER TABLE `drivers_meta` CHANGE `driving_license` `driving_license` VARCHAR(30) NULL DEFAULT '';
수락 된 답변이 잘 작동합니다.
의 경우 NULL 값의 잘못된 사용 에 오류, NULL의 값, 기본값으로 모든 널 값을 업데이트 하는 열에서 다음 ALTER을하려고합니다.
UPDATE foobar_data SET col = '{}' WHERE col IS NULL;
ALTER TABLE foobar_data MODIFY COLUMN col VARCHAR(255) NOT NULL DEFAULT '{}';
참고 URL : https://stackoverflow.com/questions/11312433/how-to-alter-a-column-and-change-the-default-value
'IT story' 카테고리의 다른 글
Swift에서 오류 유형으로 현지화 된 설명을 제공하는 방법은 무엇입니까? (0) | 2020.05.26 |
---|---|
사용하여 테이블을 만드는 방법 (0) | 2020.05.25 |
iTerm이 다른 OS와 동일한 방식으로 '메타 키'를 번역하도록 만들기 (0) | 2020.05.25 |
문자열의 모든 문자에 for-each 루프를 어떻게 적용합니까? (0) | 2020.05.25 |
Excel : 문자열에서 마지막 문자 / 문자열 일치 (0) | 2020.05.25 |