我正在寻找语法,以添加一个默认值为0的MySQL数据库列
Reference .
table users (user_id int unsigned PK,用户名varchar(32))
alter table users add column verified tinyint unsigned default 0
试试这个:
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
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;
只需在ALTER TABLE <table> ADD COLUMN <column> <type>语句的末尾添加default 0即可
ALTER TABLE <table> ADD COLUMN <column> <type>
default 0
如果你正在学习使用像SQLyog这样的GUI是有帮助的,使用程序进行更改,然后查看做出这些更改的DDL语句的History选项卡。
你可以试试这个,
ALTER TABLE table_name ADD column_name INT DEFAULT 0;
试试这个吧。
ALTER TABLE TABLE_NAME ADD COLUMN_NAME INT NOT NULL DEFAULT 0;
这将适用于ENUM类型作为默认值
ALTER TABLE engagete_st.holidays add column `STATUS` ENUM('A', 'D') default 'A' AFTER `H_TYPE`;
ALTER TABLE my_table ADD COLUMN new_field TinyInt(1) DEFAULT 0;
另一个有用的关键字是FIRST和AFTER,如果您想将它添加到表中的特定位置。
ALTER TABLE `table1` ADD COLUMN `foo` AFTER `bar` INT DEFAULT 0;