Answers:
试试这个:
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节“创建表语法”。
并从链接页面:
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这个词。
TINYINT(1)
比使用boolean和bool 更有效INT
,请在使用此“正确”答案时记住这一点
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;
bar
应该是*在INT之后