当前位置: 首页 > 面试题库 >

添加具有默认值的新SQL列

林鹏鹍
2023-03-14
问题内容

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

参考


问题答案:

尝试这个:

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这个词。



 类似资料:
  • 问题内容: 如何在SQL Server 2000 / SQL Server 2005中的现有表中添加具有默认值的列? 问题答案: 句法: 例子: 笔记: 可选的约束名称: 如果省略,将自动生成 一个带有有趣名称的 如果您的,则 无论您是否指定,它都会自动对所有现有记录使用默认值WITH VALUES。 插入如何与默认约束一起使用: 如果将记录插入到SomeTable并且不指定SomeCol的值,则

  • 所以我有一个这样的avro记录(称之为v1): 我想添加一个区分大小写的字段,默认值为false(称为v2)。我的第一种方法是: 根据模式演变,这是向后和向前兼容的,因为具有新模式的读取器读取用旧写入器模式编码的记录将能够填充此字段默认值和具有旧模式的读取器将能够读取用新写入器模式编码的记录,因为它只会忽略新添加的字段。 添加此字段的另一种方法是添加默认值为null的

  • 问题内容: 我正在使用Postgres DB,对于迁移,我正在使用Liquibase。我有一个ORDERS表,其中包含以下列: 我需要添加一个新列,该列将容纳上次修改订单的用户-该列应不可为空,并且应具有默认值CREATOR。对于新订单,我可以解决业务逻辑的默认值部分, 但是 问题是我已经有一个现有订单,因此在创建新列时需要设置默认值。现在,我知道我可以在Liquibase中设置一个硬编码的默认值

  • 我使用的是Postgres DB,对于迁移,我使用的是Liquibase。我有一个包含以下列的订单表: 我需要添加一个新的列,它将保存上次修改订单的用户-此列不应为空,并应具有默认值,即创建者。对于新订单,我可以解决业务逻辑的默认值部分,但问题是我已经有一个现有订单,我需要在创建新列时设置默认值。现在,我知道我可以在Liquibase中设置一个硬编码的默认值,但是有没有一种方法可以基于该表的其他列

  • 本文向大家介绍在MySQL中添加具有当前时间的新列作为默认值?,包括了在MySQL中添加具有当前时间的新列作为默认值?的使用技巧和注意事项,需要的朋友参考一下 为此,可以在MySQL中使用DEFAULT CURRENT_TIMESTAMP子句。以下是语法- 让我们首先创建一个表- 现在您可以使用insert命令在表中插入一些记录- 使用select语句显示表中的所有记录- 输出结果

  • 我创建了一个名为person的表,并使用liquibase变更集添加了一列“phone_number”。但现在我想为它添加一个默认值。但它不起作用,到目前为止,我已经尝试过: 和 和 有人能指出我哪里做错了,并且添加默认值会给以前添加的行增加值吗?