mysql函数NOW()怎么用?
MySQL函数NOW()用于返回当前日期和时间。它可以用来记录数据的最后修改时间或创建时间等。
使用示例:
INSERT INTO my_table (name, created_at) VALUES ('John', NOW());
以上示例中,当向my_table表中插入一条数据时,我们可以使用NOW()函数生成当前时间,并将其保存到created_at字段中。这样就可以记录数据的创建时间。
另一个示例是,我们想将某个字段的值更新为当前时间,可以这样写:
UPDATE my_table SET updated_at = NOW() WHERE id = 1;
以上示例中,我们将my_table表的id为1的记录的updated_at字段更新为当前时间。这样就可以记录数据的最后修改时间。
需要注意的是,NOW()函数返回的时间是基于服务器上的时间。如果要根据不同时区返回不同的时间,可以使用其他函数,如CONVERT_TZ()。
完整示例:
CREATE TABLE my_table (
id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(50) NOT NULL,
created_at TIMESTAMP DEFAULT NOW(),
updated_at TIMESTAMP DEFAULT NOW() ON UPDATE NOW()
);
INSERT INTO my_table (name) VALUES ('John');
INSERT INTO my_table (name) VALUES ('Jane');
UPDATE my_table SET updated_at = NOW() WHERE name = 'John';
以上示例中,我们创建了一个名为my_table的表,其中包含了一个id字段、一个name字段和两个时间戳字段:created_at和updated_at。我们还设置了这两个字段的默认值和更新值,使其在插入数据和更新数据时自动记录时间。然后我们向表中插入了两条数据,并将name为’John’的记录的updated_at字段更新为当前时间。
代码块:
SQLCREATE TABLE my_table (
id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(50) NOT NULL,
created_at TIMESTAMP DEFAULT NOW(),
updated_at TIMESTAMP DEFAULT NOW() ON UPDATE NOW()
);
INSERT INTO my_table (name) VALUES ('John');
INSERT INTO my_table (name) VALUES ('Jane');
UPDATE my_table SET updated_at = NOW() WHERE name = 'John';