MySQL两列时间戳默认NOW值ERROR 1067

2023-11-26

我有如下所示的表格。为了解决一个默认问题nowMySQL的列限制我使用了如图所示的提示here

CREATE  TABLE IF NOT EXISTS mytable (
  id INT NOT NULL AUTO_INCREMENT ,
  create_date TIMESTAMP NULL DEFAULT '0000-00-00 00:00:00' ,
  update_date TIMESTAMP NULL DEFAULT NOW() ON UPDATE NOW() ,
  PRIMARY KEY (`parti_id`) )
ENGINE = InnoDB;

我的 sql_mode 不包括NO_ZERO_DATE正如所指出的here我的输出:

mysql> SELECT @@sql_mode;
+------------+
| @@sql_mode |
+------------+
|            | 
+------------+
1 row in set (0.00 sec)

它仍然给出错误,如下所示:

ERROR 1067 (42000) at line xx in file: '/myschema.sql': Invalid default value for 'create_date'

我在 Ubuntu 上使用 MySQL 5.1.37

我该如何修复它?谢谢。


你只能有one时间戳列默认为CURRENT_TIMESTAMP or NOW()每张桌子。这是 MySQL 中一个众所周知的错误。

为了解决这个问题,请将创建的列的默认值设置为有效的时间戳值,然后将时间戳插入到 CRUD 应用程序代码中。 使用NOW() or CURRENT_TIMESTAMP更新后的列默认值。

参考资料:http://dev.mysql.com/doc/refman/5.1/en/timestamp.html

为了进一步说明 MySQL 在这方面的缺点,请考虑以下代码:

CREATE TABLE testing_timestamps (
  id INT NOT NULL AUTO_INCREMENT,
  pk_id INT NOT NULL,
  col1 TIMESTAMP DEFAULT 0,
  col2 TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  PRIMARY KEY(id)
);

delimiter $$
CREATE TRIGGER testing_timestamps_trigger
  AFTER INSERT ON testing_timestamps
  FOR EACH ROW 
  BEGIN
    UPDATE testing_timestamps SET col1 = NOW() WHERE id = MAX(id);
  END;
$$
delimiter ;

INSERT INTO testing_timestamps (id) VALUES (0);

输出将显示:

mysql> INSERT INTO testing_timestamps (id) VALUES (0);
ERROR 1442 (HY000): Can't update table 'testing_timestamps' in stored function/trigger because it is already used by statement which invoked this stored function/trigger.

这是一个令人遗憾的事情,因为在这种情况下使用触发器将是一个很好的解决方法。

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

MySQL两列时间戳默认NOW值ERROR 1067 的相关文章

  • UTF-8、PHP 和 XML Mysql

    我在解决这个问题时遇到了很大的问题 我有一个编码 latin1 swedish ci 的 mysql 数据库和一个存储名称和地址的表 我正在尝试输出 UTF 8 XML 文件 但在使用以下字符串时遇到问题 Otiv gen它被输出为Otiv
  • 如何将UTF-8编码的汉字从MySql正确导出到SQL

    过去三天我们正在与严重的问题作斗争 我们从PhpmyAdmin导出MySql数据库文件 数据库条目中写入的数据是带有UTF 8字符集的中文 导出后将其转换为拉丁字符集 现在我们正在将此数据库SQl文件导入到其他主机 我们在UTF 8和排序规
  • mysql 将 varchar 字段排序为整数

    我的表中有一个 varchar 字段 我想对其进行排序 但我需要将此字段作为整数处理 意思是如果按文本排序 顺序是 19 2 20 但我想得到正确的顺序 2 19 20 谁能帮我 我不知何故没有设法运行查询CAST 我总是得到Error C
  • mysql错误1442的真正原因是什么?

    好吧 我在互联网上寻找了很多地方来寻找原因mysql error 1442其中说 无法更新存储函数 触发器中的表 unlucky table 因为 它已被调用此存储的语句使用 功能 触发器 有人说这是 mysql 中的一个错误或者它不提供的
  • 如何在同一列中选择多个值?

    我正在尝试在单个列中选择多个值 基本上我希望查询选择列下的所有内容family有价值观Software 1Y XI 1Y and P1 1Y 我正在运行这个查询 SELECT salesorder masterproduct family
  • 如何在 laravel 中查询 json 列?

    我用的是 Laravel 5 6 我有一块田地 字段的数据类型为json 字段 desc 字段 的值如下所示 code 1 club CHE country ENGLAND code 2 club BAY country GERMANY c
  • 在 Bluemix 中激活 PHP 扩展

    这纯粹是 Bluemix 问题 我的代码在本地主机上顺利运行 但是当我将其迁移到 Bluemix 时 我的数据库连接失败了 检查日志 我发现问题 调用未定义的函数 mysqli init HTTP 响应 500 我发现扩展已被禁用以使其更小
  • Laravel Eloquent with()-> 返回 null

    我正在尝试使用 Eloquent 来获取具有以下功能的特定产品 brand id映射到a的列brands表 该brand数组返回空 这里有什么明显需要改变的地方吗 product Product with images gt with br
  • mysql 中的 max(长度(字段))

    如果我说 select max length Name from my table 我得到的结果是 18 但我也想要相关数据 所以如果我说 select max length Name Name from my table 这是行不通的 我
  • Mysql显示创建约束?

    有没有一种简单的方法来查询表的约束 特别是外键 就像显示创建表一样 但仅用于约束 thanks 普夫戈丁 要仅显示外键约束 您可以检查 information schema table constraints 中的constraint ty
  • 我无法访问 XAMPP phpMyAdmin;它说:错误 MySQL 说:文档无法连接:无效设置

    完整错误消息 Error MySQL said Documentation Cannot connect invalid settings Connection for controluser as defined in your conf
  • 如何从 mysql 数据库中提取数据并使用 D3.JS 进行可视化?

    我有一个数据库MySQL我想在其中可视化D3 JS 为了做到这一点 首先我想parse中的数据JSON格式 然后编写一个基本代码 从数据库中提取数据并使用D3 JS 我环顾四周 但找不到我想要的东西 因为我是新手D3 JS 我怎样才能做到这
  • MySQL 更新具有多个值的查询

    我在数据库中有一个表 其记录如下 match id guess result 125 1 0 130 5 0 233 11 0 125 2 0 我的用户为每场比赛选择一个猜测 我有一个函数可以根据比赛的结果计算猜测的结果 如果猜测正确 结果
  • Laravel 5.2 中使用多个 MySQL 数据库连接查询关系存在

    我正在处理以下情况 我有两个模型 一个Employee with id and name字段和一个Telephone with id employee id and flag字段 还有一个一对多关系在这两种模型之间 即一个员工可能拥有多部电
  • 更改 MySQL Workbench 上的默认字符集

    我正在尝试使用连接到我的 MYSQL 数据库utf8mb4字符集 请注意 数据库字符集的全局设置已经是 utf8mb4 我可以使用 CLI 轻松完成此操作 如下所示 mysql h myhostname u myuser p default
  • 复制具有不同列名的 MySQL 表

    我需要将 table1 中与特定列匹配的所有行复制到具有不同列名称的 table2 中 例如 table1 name oldAddressBook table1 的列 name Name Surname Number table2 name
  • 如何知道 Solr Optimize 何时完成?

    我正在使用 Solr php client 通过 php 与 Solr 进行通信 这段代码触发solr优化命令 solr gt optimize 请问有没有什么方法可以确定优化完成了 这都是因为我的网站上有一个管理页面 我每天必须手动优化
  • PHP 插入中的 mysqli_affected_rows

    我有这个代码 if mail to subject message headers insert member sql INSERT INTO members id username VALUES id username insert me
  • Codeigniter,为MySQL创建表和用户

    我想以编程方式使用 CI 创建数据库和用户 到目前为止 我有这 2 个简单的 MySQL 语句 CREATE DATABASE testdb DEFAULT CHARACTER SET utf8 COLLATE utf8 general c
  • 计算 MySQL 中的行数以及实际行内容

    MySQL 中有没有办法执行单个 SQL 语句来返回所选行以及结果行数 我可以做这个 SELECT COUNT FROM BigTable WHERE firstname LIKE a 这给了我一个带有计数 37 781 的结果行 我可以像

随机推荐

  • 如何在c#中检索字符串formData js

    我必须在 net 的 Web api 中检索 idPerson 的值 我已经检索到文件 UploadedImage 但我无法检索 idPerson 的值 有人有解决办法吗 Thx 我的js函数 Upload de l image de pr
  • 零长度位域的实际使用

    我对 C 不太确定 但 C 允许长度为 0 的未命名位字段 例如 struct X int 0 问题一 这个可以有什么实际用途you考虑到 问题二 您知道哪些实际用途 如果有 Edited 您使用零长度位字段作为一种黑客方法 让编译器布局一
  • UIWebView stringByEvaluatingJavaScriptFromString

    我一直致力于让一些非常基本的 JS 在我的 UIWebView 中运行 在网络视图的委托中 我有 void webViewDidFinishLoad UIWebView wView NSString someHTML wView strin
  • 删除子图

    我正在尝试找出一种删除 动态 matplotlib 中的子图的方法 我看到他们有一个remove方法 但我收到错误 NotImplementedError cannot remove artist 我很惊讶我在任何地方都找不到这个 有谁知道
  • 缩放和平移后如何获得相对于画布的触摸坐标?

    在移动和缩放画布后 我需要获得相对于画布的 x 和 y 触摸 以检查碰撞和类似的情况 每当我平移画布或围绕原点 0 0 缩放画布时 我已经设法通过使用以下代码获取触摸坐标 private float convertToCanvasCoord
  • 为什么 exec("break") 不在 while 循环内工作

    正如问题所问 为什么下面的代码不起作用 while True exec break 我通过 python 3 5 2 控制台在 pycharm 中执行上述内容 我最初认为这是一个上下文问题 但在阅读文档后 我还没有进一步理解为什么会出现此错
  • SQL 查询之间有什么区别?

    我们有这样的查询 SELECT t FROM articles t WHERE t article id 59446 也称为 SELECT articles FROM articles WHERE articles article id 5
  • 您的连接不安全 - 使用 Selenium.WebDriver v.3.6.0 + Firefox v.56

    我正在编写测试硒 C 我面临一个重要问题 因为当我使用安全连接测试我的网站时没有找到解决方案 HTTPS 我在 stackoverflow 上找到的所有解决方案都已过时或不起作用 我尝试练习以下问题的所有解决方案 Selenium 为什么将
  • 如何使用java获取本地系统的子网掩码?

    你如何获得Subnet使用Java的本地系统的掩码地址 本地主机接口的第一个地址的网络掩码 InetAddress localHost Inet4Address getLocalHost NetworkInterface networkIn
  • 如何从 QListWidget 中删除项目

    每次我需要从 QListWidget 列表中删除 Item 时 我都会陷入使用 myItem hide 方法的困境 隐藏项目而不是删除 移除会使事情变得不必要的复杂 如果您向我展示如何从 ListWidget 中永久删除项目 我将不胜感激
  • Matplotlib:Times New Roman 显得粗体

    由于某种原因 当我在我的应用程序中使用 Times New Roman 时mpl情节显得粗体 其他字体都OK 这是一个最小的示例和结果 在 Word 文档中 用于与我期望的 Times New Roman 的外观进行比较 import ma
  • 我无法理解这一行 - 取消引用私有成员变量的地址还是什么?

    我不久前问过一个问题关于访问STL适配器的底层容器 我得到了一个非常有帮助的答案 template
  • 无法从 TypeScript 中的文件加载类

    我有一堂课 看起来像这样 export module GameModule export class Game private boardContainer HTMLElement private board number construc
  • 如何获取在其声明中实际键入的变量名称? [复制]

    这个问题在这里已经有答案了 可能的重复 在 C 中查找传递给函数的变量名 下面的类包含字段城市 我需要动态确定在类声明中键入的字段名称 即我需要从对象城市的实例中获取字符串 city 我尝试通过检查 DoSomething 中的 Type
  • 将 const 指针引用绑定到非常量指针

    int val2 38 int ptr val2 const int ptrRef ptr ERROR int i 92 int ref i i const int ref i2 ref i OK 为什么我不能有一个引用非常量指针的常量引用
  • Java XML处理实体问题?

    当我尝试运行 java 程序时出现以下错误 它应该读取 xml 文件并打印出一些内容 据我了解 有一个未引用的实体不属于 xml 标准的一部分 所以我的问题是 我该如何解决这个问题 Thanks Fatal Error subject xm
  • Java中n++ VS ++n的区别

    我的 Java 老师说最好使用 n 而不是 n 我没有看到这背后的逻辑 有人知道吗 n增加该值并返回新值 n 增加值并返回old one Thus n 需要额外的存储空间 因为它必须跟踪旧值 以便在增量后可以返回它 我预计这两者之间的实际差
  • 在一张表上创建多对多

    Flask SQLAlchemy 给出了example如何创建多对多关系 它是在两个不同的表之间完成的 是否可以在同一个表上创建多对多关系 例如 一个姐妹可以有很多姐妹 而她也可以有很多姐妹 我努力了 girl sister map db
  • 从 git diff 中排除目录

    我想知道如何从 Git diff 中排除整个目录 在本例中为 spec 我正在使用 git diff 命令为我们的整个软件版本创建一个差异 然而 规格的更改与此过程无关 只会带来麻烦 现在我知道我能做到 git diff previous
  • MySQL两列时间戳默认NOW值ERROR 1067

    我有如下所示的表格 为了解决一个默认问题nowMySQL的列限制我使用了如图所示的提示here CREATE TABLE IF NOT EXISTS mytable id INT NOT NULL AUTO INCREMENT create