MySQL 不允许对 DATETIME 字段执行 ON UPDATE CURRENT_TIMESTAMP

2024-01-09

我看过很多相关问题,但我无法指出这个具体问题:

我有一个 MySQL 表,其中包含 TIMESTAMP(用于创建字段的时间)和 DATETIME(用于每次更新字段的时间)。它看起来像这样:

CREATE TABLE 'vis' (
ID BIGINT PRIMARY KEY AUTO_INCREMENT NOT NULL,
ENTRY VARCHAR(255),
AUTHOR VARCHAR(255),
CREATED_AT TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
UPDATED_AT DATETIME ON UPDATE CURRENT_TIMESTAMP,
UPDATED_BY VARCHAR(255)
)

当我尝试这个时,我得到的错误是:(SQL Error: 1294 SQL State: HY000) - Invalid ON UPDATE clause for 'updated_at' field

我读过的所有地方(甚至在 Stack Overflow 上)都表明我应该能够做到这一点,但我收到了这个错误。也许还有另一种方法可以让字段在每次更新时自动更新时间?

我正在使用 MySQL 服务器 5.5。


DATETIME不能用CURRENT_TIMESTAMP更新时。相反,将其更改为TIMESTAMP.

或者,考虑针对这种情况使用触发器:http://dev.mysql.com/doc/refman/5.0/en/trigger-syntax.html http://dev.mysql.com/doc/refman/5.0/en/trigger-syntax.html

编辑:正如评论中那样(感谢@АлександрФишер!),自 MySQL 5.6.5 以来,这种情况不再出现,因此另一个解决方案是如果可能的话升级您的服务器。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

MySQL 不允许对 DATETIME 字段执行 ON UPDATE CURRENT_TIMESTAMP 的相关文章

  • Innodb页面大小设置

    在innodb中 页面大小默认为16kb 如何将页面大小设置为 8kb 是否有在源编译步骤中设置的选项 您不需要在源编译步骤中指定页面大小 MySQL 5 6 及更高版本支持不同的页面大小 无需重新编译 但是 您必须在初始化 InnoDB
  • 根据最大值连接表

    这是我正在谈论的内容的一个简化示例 Table students exam results id name id student id score date 1 Jim 1 1 73 8 1 09 2 Joe 2 1 67 9 2 09 3
  • 在 Django 查询中使用 .extra(select={...}) 引入的值上使用 .aggregate() ?

    我正在尝试计算玩家每周玩游戏的次数 如下所示 player game objects extra select week WEEK games game date aggregate count Count week 但姜戈抱怨说 Fiel
  • MySQL SELECT OpenCarts 数据库中的重复行

    只是玩一下 OpenCart DB 看看我是否能学到一些东西 如果我使用以下SELECT结果返回重复的行 SELECT DISTINCT p product id AS pid p model AS modelo SUBSTRING p m
  • 什么是“日期时间”?而不是 C# 中的 DateTime? [复制]

    这个问题在这里已经有答案了 和有什么区别DateTime and a DateTime 不带问号 在 C 中 值类型后面的问号是该值的简写符号Nullable
  • 如何将 DateTime 格式化为 Web UTC 格式?

    我有一个日期时间 我想将其格式化为 2009 09 01T00 00 00 000Z 但是下面的代码给了我 2009 09 01T00 00 00 000 01 00 两行 new DateTime 2009 9 1 0 0 0 0 Dat
  • MySQL 5:我的 GROUP BY 字段的顺序重要吗?

    Peeps 我的 MySQL 查询中有一些聚合 计算字段 我的 GROUP BY 子句是动态生成的 具体取决于用户在 Web 表单中选择的选项 很好奇 GROUP BY 子句中列出的字段顺序是否会对计算产生任何影响 例如 SUM AVERA
  • 使用 Sequelize (NodeJS) 代替 * 指定特定字段

    好吧 我在 NodeJS 中有一个项目 我正在其中使用 Sequelize 来实现 MySQL ORM 这件事工作得非常好 但是我试图弄清楚是否有一种方法可以指定在查询的基础上返回哪些字段 或者是否有一种方法可以在某处执行 query 例如
  • 将日期时间舍入到最后一小时

    我试图寻找这个 但我找不到我想做的事情的好例子 我在 MySQL 数据库中得到了日期时间值 当使用该值时必须向下舍入 例如 所有这些值 2013 04 20 07 14 422013 04 20 07 19 512013 04 20 07
  • 在 SQL 中如何获得整数的最大值?

    我试图从 MySQL 数据库中找出整数 有符号或无符号 的最大值 有没有办法从数据库本身提取这些信息 是否有我可以使用的内置常量或函数 标准 SQL 或 MySQL 特定的 At http dev mysql com doc refman
  • 获取给定日期时间集的每月第一个星期一

    我需要什么 我有一个特定的日期时间列表 我想获取每个日期时间的第一个星期一 例如 假设给定的日期时间是 2013 07 05 2013 08 05 2013 09 13 etc 我想获得所有这些日期时间的第一个星期一 以便输出结果 2013
  • PHP-MySQLi 连接随机失败并显示“无法分配请求的地址”

    大约两周以来 我一直在处理 LAMP 堆栈中最奇怪的问题之一 长话短说 与 MySQL 服务器的随机连接失败并显示错误消息 Warning mysqli real connect HY000 2002 Cannot assign reque
  • 日期时间的小时数?以 24 小时格式

    所以我有这个日期时间 我想要做的是获取小时 但以 24 小时格式显示 例如 如果时间是下午 2 20 23我想将其转换为 14 20 就这样了 我正在使用 Visual C 有什么想法请提出来 谢谢 我有这样的东西 public stati
  • Android 中 localTime 和 localDate 的替代类有哪些? [复制]

    这个问题在这里已经有答案了 我想使用从 android API 获得的长值 该值将日期返回为长值 表示为自纪元以来的毫秒数 我需要使用像 isBefore plusDays isAfter 这样的方法 Cursor managedCurso
  • 无法加载身份验证插件“caching_sha2_password”

    我正在将 MySQL 8 0 与 MySQL Workbench 连接并收到以下错误 无法加载身份验证插件 caching sha2 password dlopen usr local mysql lib plugin caching sh
  • C# 根据当前日期传递日期时间值

    我正在尝试根据 sql server 中的两个日期获取记录 Select from table where CreatedDate between StartDate and EndDate我通过了5 12 2010 and 5 12 20
  • 如何关闭整个数据库的区分大小写

    我创建了一个包含许多脚本和许多存储过程的数据库 在这个数据库中 我们没有注意担心区分大小写 因为它对于我的本地开发计算机来说是关闭的 综上所述 我试图弄清楚如何使以下两条语句返回相同的结果 SELECT FROM companies SEL
  • 错误 1305 (42000):保存点...不存在

    我的 MYSQL 数据库中有这个 SQL 存储过程为空 所以我猜没有隐式提交 DROP PROCEDURE IF EXISTS doOrder DELIMITER CREATE PROCEDURE doOrder IN orderUUID
  • mysql 查询选择当月的所有行?

    我有一个名为 startdate 的日期时间类型的列 我必须获取当前月份的开始日期和结束日期之间的所有行 即从 1 11 2014 到 30 11 2014 select from your table where year curdate
  • 如何统计订单总价?

    我有这些表 Orders id status user id address id 1 await 1 1 products id name price quantity 1 test1 100 5 2 test2 50 5 order p

随机推荐

  • cron 上的屏幕截图显示背景而不是窗口内容

    在 macOS 上 Catalina 在通过 cron 进行屏幕截图时遇到问题 手动运行时do screenshot sh脚本然后一切都很好 但是当它在 cron 问题上自动运行时 只有菜单正确 而不是窗口内容显示 macOS 背景 见图
  • 如何在 Android 中使用 WMS 和 WFS

    我对整个 Geo IT 材料是全新的 我的任务是检查一些在 Android 中查看地图的方法 并覆盖了矢量数据 我有 WMS 和 WFS 服务 可以从中获取数据 但如何将其集成到 Android 中呢 Google Maps Api 不是免
  • window 对象在 Chrome 和 IE 中表现奇怪

    考虑以下 HTML 示例 div div 以及以下脚本 var about function window document use strict var methods methods init function Do things he
  • 如何在 R 中一起绘制两个直方图?

    我正在使用 R 并且有两个数据框 胡萝卜和黄瓜 每个数据框都有一个数字列 列出所有测量的胡萝卜 总计 100k 胡萝卜 和黄瓜 总计 50k 黄瓜 的长度 我希望在同一个图上绘制两个直方图 胡萝卜长度和黄瓜长度 它们重叠 所以我想我还需要一
  • django-tastypie PATCH 给了我一个“400(错误请求)”

    我正在 Apache 上运行一个 Django 站点 该站点以 Nginx 实例为前端 为我的静态媒体提供服务 我通过 django tastypie 将 API 暴露给需要修补字段的模型 当我进行本地测试 通过 django runser
  • 数组衰减为指针的异常?

    我在许多帖子中看到 在大多数情况下 数组名称会退化为指针 我可以知道在什么情况 表达式下数组名称不会衰减为指向其第一个元素的指针吗 Sure 在C99中存在三种基本情况 即 当它是争论的时候 地址 运算符 当它是争论的时候sizeof操作员
  • 如何使用 libphonenumber 以国际格式格式化电话号码。

    In the 文档 https github com googlei18n libphonenumber由Github上的libphonenumber提供 有一个demo https rawgit com googlei18n libpho
  • view.getId() 在 OnItemClickListener 中返回错误的 id

    在我的应用程序中 我有一个包含一些图像的图库 当用户选择图像时 我想以某种方式检索所选图像的 id getId 返回的 int 为 1 为什么我无法获取所选图像的系统 ID gallery setOnItemClickListener ne
  • 使用左连接的 LINQ orderby FK

    我有以下代码 from categories in context SCT Categories join categoryOrders in context SCT CategoryOrders on categories ID equa
  • 如何在 Firefox 中正确渲染@font-face?

    我正在尝试对 Chrome Safari Firefox 和 IE 使用 font face 对于 IE 我什至不知道该怎么做 但对于其他浏览器 我希望 font face 部分能够工作 这是我用过的 font face font fami
  • ruby 从数组中删除一个元素

    我想从数组中按值删除 仅一个 元素 例子 x 1 2 3 2 x remove 2 result x 1 3 但是 我想得到 1 3 2 thanks 正如 7urkm3n在评论中提到的 你可以使用x delete at删除第一个出现的位置
  • Git hooks - 从远程存储库传播?

    我目前正在寻求将现有的 SVN 存储库转换为 git 然后在允许推送之前使用 Reviewboard 进行审核 我最近才开始使用 git 而且远不是这方面的专家 但是我想做的是有一个预推送钩子 它运行 后审查 以将更改提交到 ReviewB
  • 为什么不允许调用main函数?

    C 03 3 6 1 3 不得在程序中使用 main 函数 3 2 我想知道为什么这条规则存在 有人知道如果使用 main 会出现问题的任何系统 实现吗 附 1 我知道这个词的定义used 2 我知道有一些简单的解决方法 例如从 main
  • 找不到提供者 docker - Vagrant

    每当我跑步时vagrant up provider docker 我收到此错误消息 The provider docker could not be found but was requested to back the machine d
  • 为什么 gcc 不会对 int 和 char 产生类型不匹配警告?

    为什么在 gcc 中编译以下代码不会产生任何类型不匹配警告 1属于类型int and f 期望类型char void f char c int main void f 1 return 0 即使我们明确指定类型 也不会出现警告 void f
  • 混合 fdopen() 和 open() -> 错误的文件描述符

    int source open hi O CREAT O RDONLY int dest open resultfile O CREAT O RDWR O TRUNC FILE source1 fdopen source r FILE de
  • 合并(与拆分相反)r 中的行对

    我有如下的专栏 每列有两对 每对带有后缀 a 和 b 例如 col1a col1b colNa colNb 等 直到文件末尾 gt 50000 mydataf lt data frame Ind 1 5 col1a sample c 1 3
  • ROC 函数错误“预测变量必须是数字或有序的。”

    我无法让 ROC 函数正常工作 收到错误 预测器必须是数字或有序的 我浏览了其他帖子 但没有解决我的问题 非常感谢任何帮助 Get data flying dget https www math ntnu no emner TMA4268
  • SQL - 查找两列相同的所有实例

    所以我有一个简单的桌子来容纳comments from a user与特定博客相关的post id user post id comment 0 email protected cdn cgi l email protection 1001
  • MySQL 不允许对 DATETIME 字段执行 ON UPDATE CURRENT_TIMESTAMP

    我看过很多相关问题 但我无法指出这个具体问题 我有一个 MySQL 表 其中包含 TIMESTAMP 用于创建字段的时间 和 DATETIME 用于每次更新字段的时间 它看起来像这样 CREATE TABLE vis ID BIGINT P