我正在寻找向MySQL数据库添加默认值为0的列的语法

Reference

推荐答案

试试这个:

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的语法,请在页面下方再搜索一点:

列定义子句对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.

Mysql相关问答推荐

SQL:CAST与窗口函数组合导致语法错误

条件触发mysql

如何使用mysql更新列中的json数据

完全匹配 IN 子句中的所有值

在 MySQL 中使用非空条件 LAG() 函数

过滤查询结果

在 SQL 中将列添加为 End_date,间隔为 +100 天

我在查询中没有得到正确的结果

用两个新列制作表格,按偶数或奇数对另一列进行分类,并将一个类别中的所有偶数和奇数相加

我将如何构建一个 SQL 查询来从交易表中 Select 第一次存款、第二次存款和额外存款

使用 MySQL LIMIT、OFFSET 进行分页

在 WHERE 子句中使用 CASE

你如何在 Node.js 中模拟 MySQL(没有 ORM)?

如何在 MySQL 上一次删除一系列记录?

用于国际和多语言目的的数据库建模

在 MySQL 中检测 utf8 损坏的字符

MAMP mysql 服务器无法启动.没有mysql进程正在运行

如何从 MySQL Workbench 中的图表生成 SQL 脚本?

仅在 MYSQL DATEDIFF 中显示小时数

在osx的命令行中使用Mysql-找不到命令?