添加一个默认值的新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,...) ... 

要findcolumn_definitionsearch的语法,在页面的下面

对于CREATE TABLE,column_definition子句对ADD和CHANGE使用相同的语法。 请参见第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; 

只需在ALTER TABLE <table> ADD COLUMN <column> <type>语句的末尾添加default 0

表用户(user_id int unsigned PK,username varchar(32))

 alter table users add column verified tinyint unsigned default 0 

你可以试试这个,

 ALTER TABLE table_name ADD column_name INT DEFAULT 0; 

如果您正在学习使用像SQLyog这样的GUI是有帮助的,请使用该程序进行更改,然后查看进行这些更改的DDL语句的“历史logging”选项卡。

尝试这个 :)

 ALTER TABLE TABLE_NAME ADD COLUMN_NAME INT NOT NULL DEFAULT 0;