当前位置: 首页 > 面试题库 >

mysql自动存储记录创建时间戳

傅皓君
2023-03-14
问题内容

mysql有什么方法可以在创建时自动将时间戳存储在记录行中。我试图将timestamp(数据类型)与current_timestamp用作默认值,但后来意识到,每当记录更新时,它将更新。我只需要一些可以存储创建时间戳记的东西。

谢谢


问题答案:

设置DEFAULT约束以使用CURRENT_TIMESTAMP:

CREATE TABLE ...
  your_date_column DATETIME DEFAULT CURRENT_TIMESTAMP
  ...

对于现有表,请使用ALTER TABLE语句:

ALTER TABLE your_table
ALTER COLUMN date_column SET DEFAULT CURRENT_TIMESTAMP

除非您为date_column指定一个值,否则默认值为INSERT语句的运行日期和时间。
NULLDEFAULT或有效值以其他方式使用默认约束,假设列可以为空。



 类似资料:
  • 问题内容: 在MySQL中,我讨厌将列和(分别是用于创建和最后修改的日期时间戳)添加到数据库中的所有表中。 每当我或数据库时,我都必须使用关键字。这遍了我的坚持。 有没有一种有效的替代方法,MySQL可以至少自动存储所插入行的数据时间并让我对其进行检索? 问题答案: 您可以使用DEFAULT约束来设置时间戳: 这样,您就不必在INSERT / UPDATE语句中指定。 参考:TIMESTAMP属性

  • 我想使用phpmyadmin在MySQL数据库中进行存储过程。 几分钟后,我在“创建过程”对话框中键入并按下GO,我的语法出现了错误。 我在谷歌上搜索过哪一个是错的,但仍然没有找到。请任何人给我一些建议如何解决这个问题。 这是我的MySQL存储过程查询。 我有这样的错误 处理您的请求: 以下查询失败:"CREATE DEFINER=@PROCEDURE(INBIT(1), ININT, INDAT

  • MySQL 存储过程是一些 SQL 语句的集合,比如有时候我们可能需要一大串的 SQL 语句,或者说在编写 SQL 语句的过程中需要设置一些变量的值,这个时候我们就完全有必要编写一个存储过程。 编写存储过程并不是件简单的事情,但是使用存储过程可以简化操作,且减少冗余的操作步骤,同时,还可以减少操作过程中的失误,提高效率,因此应该尽可能的学会使用存储过程。 下面主要介绍如何创建存储过程。 可以使用

  • 你好,伙计们,我在一个动态存储中学习,我从数组中获得一个数据,并创建一个存储,但如果我试图将列和数据加载到我的网格中,我会得到"未捕获的类型错误:无法读取未定义的属性'getProxy'" 控制器: window.js: });

  • 我正试图在MySQL中创建一个存储过程,但我一直收到错误消息 #1064年的今天,您的SQL语法出现错误;查看与您的MariaDB服务器版本对应的手册,以了解第1行“DELIMITER”附近使用的正确语法 预期分隔符。(在位置10的“”附近) 我做错了什么?编辑:去掉错误后,现在我的程序只是插入空值,知道为什么吗?

  • 我还要做什么吗? 我在shell中使用的命令是: 现在,当我键入时,它显示: 我如何让这个标签出现在GitHub上?我的标签呢?