Mysql 如何设置字段自动获取当前时间
时间: 2023-07-04 10:30:24 浏览: 158
在 MySQL 中,可以使用 DATETIME 或 TIMESTAMP 数据类型来存储日期和时间。要设置字段自动获取当前时间,可以在创建表时使用 DEFAULT 和 ON UPDATE 子句。例如,使用 DATETIME 数据类型,可以在创建表时使用以下语法:
```
CREATE TABLE example (
id INT NOT NULL,
created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
updated_at DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
);
```
这将创建一个名为 example 的表,其中包含一个名为 created_at 的字段和一个名为 updated_at 的字段。created_at 字段使用 DEFAULT CURRENT_TIMESTAMP 子句,这意味着它将自动设置为当前日期和时间。updated_at 字段使用 DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP 子句,这意味着它将自动设置为当前日期和时间,并且在每次更新行时都会自动更新。
注意,在使用 TIMESTAMP 数据类型时,可以省略 DEFAULT CURRENT_TIMESTAMP 子句,因为 TIMESTAMP 默认使用 CURRENT_TIMESTAMP。
相关问题
设置表的字段自填充当前时间
在 MySQL 数据库中,可以使用 TIMESTAMP 类型来存储时间戳,并在创建表时设置默认值为 CURRENT_TIMESTAMP,将会自动把当前的时间戳填入该字段。
例如,创建一个名为 user 的表,包含一个名为 created_at 的字段,可以使用以下 SQL 语句:
```
CREATE TABLE user (
id INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(50),
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
```
该 SQL 语句将创建一个名为 user 的表,包含三个字段 id、name 和 created_at。其中 id 为自增的主键,name 为字符串类型,created_at 为 TIMESTAMP 类型,并设置默认值为 CURRENT_TIMESTAMP,即自动填充当前时间戳。
插入数据时,可以省略 created_at 字段的值,系统会自动填充当前时间戳:
```
INSERT INTO user (name) VALUES ('Tom');
```
在查询时,也可以使用 MySQL 提供的内置函数 NOW() 获取当前时间戳:
```
SELECT id, name, created_at, NOW() as current_time FROM user;
```
这将返回一个包含当前时间戳的结果集,其中 current_time 列是使用 NOW() 函数获取的。
mysql建表怎么给字段默认值设置为当前日期
在MySQL中,你可以使用`DEFAULT`关键字来设置字段的默认值为当前日期。下面是一个示例的CREATE TABLE语句,演示如何设置字段的默认值为当前日期:
```sql
CREATE TABLE your_table_name (
id INT PRIMARY KEY,
your_date_column DATE DEFAULT CURRENT_DATE()
);
```
在上面的示例中,`your_date_column`字段的默认值被设置为当前日期。每当你插入一条新记录时,如果没有为`your_date_column`指定具体的值,它将自动设置为当前日期。
请注意,`CURRENT_DATE()`函数用于获取当前日期。如果你只想要日期部分而不包括时间部分,可以使用`CURDATE()`函数。你可以根据自己的需求选择合适的函数来设置默认值。