在 SQL 中设置字段默认值的方法有:1. 使用 DEFAULT 关键字后跟常量或表达式;2. 使用 CONSTRAINT 关键字和 DEFAULT 选项;3. 使用特定数据库的语法,如 MySQL 的 CURRENT_TIMESTAMP() 或 Oracle 的 SYSDATE;4. 为 NULL 值设置默认值,使用特殊语法如 DEFAULT NULL;5. 通过 ALTER TABLE 语句清除默认值。

在 SQL 中设置字段默认值
1. 使用 DEFAULT 关键字
最直接的方法是使用 DEFAULT 关键字,后跟要设置为默认值的常量或表达式。例如:
CREATE TABLE my_table ( id INT NOT NULL PRIMARY KEY, name VARCHAR(255) DEFAULT 'John Doe' );
2. 使用 CONSTRAINT 关键字
另一种方法是使用 CONSTRAINT 关键字和 DEFAULT 选项。例如:
CREATE TABLE my_table ( id INT NOT NULL PRIMARY KEY, name VARCHAR(255) CONSTRAINT default_name DEFAULT 'John Doe' );
3. 特定数据库的语法
不同的数据库系统可能提供自己的语法来设置默认值。例如:
-
MySQL:可以使用
DEFAULT CURRENT_TIMESTAMP()设置字段的默认值为当前时间戳。 -
Oracle:可以使用
DEFAULT SYSDATE设置字段的默认值为系统日期。
4. 为 NULL 值设置默认值
默认情况下,NULL 值不是有效的默认值。要允许字段接受 NULL 值作为默认值,需要使用特殊语法。例如:
-
MySQL:使用
DEFAULT NULL选项。 -
PostgreSQL:使用
DEFAULT NULL::type选项,其中type是字段的数据类型。
5. 清除默认值
可以通过将 DEFAULT 值显式设置为 NULL 或使用 ALTER TABLE 语句清除字段的默认值。例如:
ALTER TABLE my_table ALTER COLUMN name DROP DEFAULT;










