[sql] 기본값으로 새 SQL 열 추가

기본값이 0 인 MySQL 데이터베이스에 열을 추가하는 구문을 찾고 있습니다.

참고



답변

이 시도:

ALTER TABLE table1 ADD COLUMN foo INT DEFAULT 0;

링크 한 문서에서 :

ALTER [ONLINE | OFFLINE] [IGNORE] TABLE tbl_name
   alter_specification [, alter_specification] ...

alter_specification:
    ...
    ADD [COLUMN] (col_name column_definition,...)
    ...

column_definition페이지에서 조금 더 검색하기 위한 구문을 찾으려면 다음을 수행하십시오.

column_definition 절은 ADD 및 CHANGE에 대해 CREATE TABLE과 동일한 구문을 사용합니다. 12.1.17 절.“CREATE TABLE 구문”을 참조하십시오 .

그리고 링크 된 페이지에서 :

column_definition:
   data_type [NOT NULL | NULL] [DEFAULT default_value]
   [AUTO_INCREMENT] [UNIQUE [KEY] | [PRIMARY] KEY]
   [COMMENT 'string']
   [COLUMN_FORMAT {FIXED|DYNAMIC|DEFAULT}]
   [STORAGE {DISK|MEMORY|DEFAULT}]
   [reference_definition]  

DEFAULT라는 단어를 주목하십시오.


답변

이처럼?

ALTER TABLE `tablename` ADD `new_col_name` INT NOT NULL DEFAULT 0;


답변

명세서 default 0끝에 추가하면 됩니다 ALTER TABLE <table> ADD COLUMN <column> <type>.


답변

테이블 사용자 (user_id int unsigned PK, username varchar (32))

alter table users add column verified tinyint unsigned default 0


답변

이것은 ENUM 타입에서 기본값으로 작동합니다

ALTER TABLE engagete_st.holidays add column `STATUS` ENUM('A', 'D') default 'A' AFTER `H_TYPE`;


답변

당신은 이것을 시도 할 수 있습니다

ALTER TABLE table_name ADD column_name INT DEFAULT 0;


답변

ALTER TABLE my_table ADD COLUMN new_field TinyInt(1) DEFAULT 0;