我正在寻找将列添加到MySQL数据库的语法,默认值为0
答案 0 :(得分:348)
试试这个:
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相同的语法。见Section 12.1.17, “CREATE TABLE Syntax”.
从链接页面:
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一词。
答案 1 :(得分:33)
喜欢这个吗?
ALTER TABLE `tablename` ADD `new_col_name` INT NOT NULL DEFAULT 0;
答案 2 :(得分:4)
只需在default 0
声明
ALTER TABLE <table> ADD COLUMN <column> <type>
即可
答案 3 :(得分:2)
表用户(user_id int unsigned PK,username varchar(32))
alter table users add column verified tinyint unsigned default 0
答案 4 :(得分:2)
你可以试试这个,
ALTER TABLE table_name ADD column_name INT DEFAULT 0;
答案 5 :(得分:1)
这适用于ENUM类型作为默认值
ALTER TABLE engagete_st.holidays add column `STATUS` ENUM('A', 'D') default 'A' AFTER `H_TYPE`;
答案 6 :(得分:0)
如果您正在学习使用像SQLyog这样的GUI很有帮助,请使用该程序进行更改,然后查看进行这些更改的DDL语句的“历史记录”选项卡。
答案 7 :(得分:0)
试试这个:)
ALTER TABLE TABLE_NAME ADD COLUMN_NAME INT NOT NULL DEFAULT 0;
答案 8 :(得分:0)
ALTER TABLE my_table ADD COLUMN new_field TinyInt(1) DEFAULT 0;
答案 9 :(得分:0)
如果要将其添加到表格中的特定位置,则另一个有用的关键字是FIRST和AFTER。
ALTER TABLE `table1` ADD COLUMN `foo` AFTER `bar` INT DEFAULT 0;