在SQL中,创建表时为列设置默认值可以通过以下步骤实现:
1. 使用`CREATE TABLE`语句来定义新表。
2. 在定义列的语法中,使用`DEFAULT`关键字来指定默认值。
以下是一个具体的例子,展示如何为`users`表中的`created_at`列设置默认值:
```sql
CREATE TABLE users (
id INT AUTO_INCREMENT PRIMARY KEY,
username VARCHAR(50) NOT NULL,
email VARCHAR(100) NOT NULL,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
```
在这个例子中,`created_at`列被设置为默认使用当前的时间戳(`CURRENT_TIMESTAMP`),即当没有为这个列提供值时,它将自动被设置为当前的时间。
如果你想要在现有表中添加默认值,可以使用`ALTER TABLE`语句:
```sql
ALTER TABLE users
ADD COLUMN created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP;
```
这样,在向`users`表中插入新记录时,如果没有为`created_at`列指定值,它将自动使用当前的时间戳。
请注意,默认值必须是该列数据类型所允许的值。例如,你不能为一个`VARCHAR`类型的列设置一个默认的日期值,除非你将其转换为字符串格式。