数据库 非空,默认值为系统当前时间(提示:函数now()用于获得系统当前时间
时间: 2024-05-07 21:21:31 浏览: 9
在 MySQL 数据库中,可以通过以下语句创建一个非空的、默认值为系统当前时间的字段:
```sql
CREATE TABLE mytable (
id INT PRIMARY KEY,
created_at TIMESTAMP NOT NULL DEFAULT NOW()
);
```
在上面的示例中,`created_at` 字段被定义为 `TIMESTAMP` 类型,并设置为非空、默认值为 `NOW()` 函数返回的系统当前时间。
当插入一行数据时,如果没有指定 `created_at` 字段的值,则该字段将自动填充为系统当前时间。例如:
```sql
INSERT INTO mytable (id) VALUES (1);
```
在上面的示例中,由于未指定 `created_at` 字段的值,因此该字段将自动填充为系统当前时间。
相关问题
如何将数据库中的注册时间默认值为当前系统时间
在创建表时,可以将注册时间字段的默认值设为 `CURRENT_TIMESTAMP`。例如:
```
CREATE TABLE users (
id INT PRIMARY KEY AUTO_INCREMENT,
username VARCHAR(50) NOT NULL,
password VARCHAR(50) NOT NULL,
email VARCHAR(100) NOT NULL,
registration_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
```
这样,当插入一条新记录时,如果没有指定注册时间,就会自动使用当前系统时间作为注册时间。例如:
```
INSERT INTO users (username, password, email) VALUES ('alice', '123456', 'alice@example.com');
```
这将在数据库中创建一个新用户,其注册时间将会是当前系统时间。
数据库字段默认值设为当前时间
在MySQL中,可以使用NOW()函数将当前时间设置为默认值。例如:
CREATE TABLE `example_table` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(50) NOT NULL,
`created_at` timestamp NOT NULL DEFAULT NOW(),
PRIMARY KEY (`id`)
);
在上面的示例中,将`created_at`字段的默认值设置为当前时间。使用`NOW()`函数可以确保每次插入数据时,都会自动填充当前时间。