Adding a new SQL column with a default value
我正在寻找将列添加到默认值为0的MySQL数据库的语法
参考
试试这个:
1 | ALTER TABLE table1 ADD COLUMN foo INT DEFAULT 0; |
从链接到的文档中:
1 2 3 4 5 6 7 | ALTER [ONLINE | OFFLINE] [IGNORE] TABLE tbl_name alter_specification [, alter_specification] ... alter_specification: ... ADD [COLUMN] (col_name column_definition,...) ... |
要查找
column_definition clauses use the same syntax for ADD and CHANGE as for CREATE TABLE. See Section 12.1.17,"CREATE TABLE Syntax".
并且从链接页面:
1 2 3 4 5 6 7 | 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 | ALTER TABLE `tablename` ADD `new_col_name` INT NOT NULL DEFAULT 0; |
只需在
1 | ALTER TABLE engagete_st.holidays ADD COLUMN `STATUS` ENUM('A', 'D') DEFAULT 'A' AFTER `H_TYPE`; |
表用户(user_id int无符号PK,用户名varchar(32))
1 | ALTER TABLE users ADD COLUMN verified tinyint UNSIGNED DEFAULT 0 |
你可以试试看
1 | ALTER TABLE TABLE_NAME ADD column_name INT DEFAULT 0; |
1 | ALTER TABLE my_table ADD COLUMN new_field TinyInt(1) DEFAULT 0; |
Try This :)
1 | ALTER TABLE TABLE_NAME ADD COLUMN_NAME INT NOT NULL DEFAULT 0; |
如果要将其添加到表中的特定位置,则另一个有用的关键字是FIRST和AFTER。
1 | ALTER TABLE `table1` ADD COLUMN `foo` AFTER `bar` INT DEFAULT 0; |
如果您正在学习使用像SQLyog这样的GUI会有所帮助,请使用该程序进行更改,然后查看"历史记录"选项卡以获取进行这些更改的DDL语句。