【Mysql】[Err] 1293 - Incorrect table definition;

基本情况

SQL文件描述

/*
Navicat MySQL Data TransferSource Server         : cm4生产-200
Source Server Version : 50725
Source Host           : 192.168.1.200:3306
Source Database       : db_wmsTarget Server Type    : MYSQL
Target Server Version : 50725
File Encoding         : 65001Date: 2023-03-14 16:59:12
*/

导入的数据库版本

SELECT VERSION()

5.5.50

导入参数

在这里插入图片描述

[Err] 1293 - Incorrect table definition; there can be only one TIMESTAMP column with CURRENT_TIMESTAMP in DEFAULT or ON UPDATE clause

sql文件异常语句位置

-- ----------------------------
-- Table structure for `tb_groups_message`
-- ----------------------------
DROP TABLE IF EXISTS `tb_groups_message`;
CREATE TABLE `tb_groups_message` (`ID` bigint(20) NOT NULL AUTO_INCREMENT,`GROUP_ID` int(255) DEFAULT NULL,`TAG_MAC` int(11) DEFAULT NULL,`BIN_ID` int(11) DEFAULT NULL,`WIP_NO` varchar(255) DEFAULT NULL,`PART_NO` varchar(255) DEFAULT NULL,`ITEM_COUNT` int(11) DEFAULT NULL,`LED_STATE` int(11) DEFAULT NULL,`LED_COLOR` varchar(11) DEFAULT NULL,`UPDATE_TIME` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,`time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,PRIMARY KEY (`ID`)
) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8;-- ----------------------------
-- Table structure for `tb_orders`
-- ----------------------------
DROP TABLE IF EXISTS `tb_orders`;
CREATE TABLE `tb_orders` (`id` bigint(11) NOT NULL AUTO_INCREMENT,`orderNumber` varchar(25) COLLATE utf8mb4_bin NOT NULL COMMENT '订单编号',`status` tinyint(1) NOT NULL COMMENT '状态',`establish` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '创建时间',`finish` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '完成时间',`shopNumber` varchar(8) COLLATE utf8mb4_bin NOT NULL,PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin;

问题分析

  • MySql 5.5 每个表只能有一个Timestamp 设置根据当前时间戳更新属性。
  • MySql 5.6及以上 每个表允许多个Timestamp 字段 同时设置根据当前时间戳更新属性。
    在这里插入图片描述

解决方案

一 、手动修改后重新导入

只保留一个在更新时设置默认值CURRENT_TIMESTAMP

-- ----------------------------
-- Table structure for `tb_groups_message`
-- ----------------------------
DROP TABLE IF EXISTS `tb_groups_message`;
CREATE TABLE `tb_groups_message` (`ID` bigint(20) NOT NULL AUTO_INCREMENT,`GROUP_ID` int(255) DEFAULT NULL,`TAG_MAC` int(11) DEFAULT NULL,`BIN_ID` int(11) DEFAULT NULL,`WIP_NO` varchar(255) DEFAULT NULL,`PART_NO` varchar(255) DEFAULT NULL,`ITEM_COUNT` int(11) DEFAULT NULL,`LED_STATE` int(11) DEFAULT NULL,`LED_COLOR` varchar(11) DEFAULT NULL,`UPDATE_TIME` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,`time` timestamp NOT NULL,PRIMARY KEY (`ID`)
) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8;-- ----------------------------
-- Table structure for `tb_orders`
-- ----------------------------
DROP TABLE IF EXISTS `tb_orders`;
CREATE TABLE `tb_orders` (`id` bigint(11) NOT NULL AUTO_INCREMENT,`orderNumber` varchar(25) COLLATE utf8mb4_bin NOT NULL COMMENT '订单编号',`status` tinyint(1) NOT NULL COMMENT '状态',`establish` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '创建时间',`finish` timestamp NULL COMMENT '完成时间',`shopNumber` varchar(8) COLLATE utf8mb4_bin NOT NULL,PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin;

二、重装相应版本的数据库

安装mysql-5.7.40-winx64.zip

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/208772.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C语言指针相关练习题

​ C语言指针相关练习题 文章目录 C语言指针相关练习题题目一题目二题目三题目四题目五题目六题目七 题目一 #include <stdio.h> int main() {int a[5] { 1, 2, 3, 4, 5 };int *ptr (int *)(&a 1);printf( "%d,%d", *(a 1), *(ptr - 1));return 0; }…

C++ 问题 怎么在C++11标准语法中调用C++20的类

一. 问题 在工作中,因为一个算法功能需要跟别的部门对接,他们提供了该算法的头文件.h,静态库.lib,动态库.dll。但是头文件中使用了C++20才有的新特性,如#include等,而本地使用的vs2015开发环境,只支持C++11标准语法,这种情况下,该怎么把该算法集成到本地项目中呢? …

PCIE链路训练-状态机描述1

状态机描述 Config.linkwidth.start&#xff1a; 1. &#xff08;1&#xff09;Linkup 0 状态机没有执行链路宽度的升级&#xff08;upconfiguration of the Link width&#xff09;&#xff1a;那么tx会在所有active的dsp上发送TS1&#xff0c;其中link num为具体内容&a…

看不惯AI版权作品被白嫖!Stability AI副总裁选择了辞职,曾领导开发Stable Audio

近日&#xff0c;OpenAI的各种大瓜真是让人吃麻了。 而就在Sam Altmam被开除前两天&#xff0c;可能没太多人注意到Stability AI副总裁Newton—Rex因看不惯StabilityAI在版权保护上的行为选择辞职一事。 大模型研究测试传送门 GPT-4传送门&#xff08;免墙&#xff0c;可直接…

android11 申请所有文件访问权限

Android 11 引入了强制执行分区存储的限制&#xff0c;导致应用默认不能访问外部文件。 针对以前涉及较多文件的操作&#xff0c;可采用申请所有文件访问权限的方式来解决这一问题&#xff0c;实现方式如下。 &#xff08;虽然这样做安全性低&#xff0c;官方并不推荐这样&…

druid keepAlive 导致数据库连接数飙升

一.背景 应用在执行完某个复杂业务&#xff0c;主要包含20几个查询SQL的操作后&#xff0c;会导致数据库连接池一直升高 druid版本&#xff1a;1.2.11 druid配置文件&#xff1a; spring.datasource.druid.maxActive100 spring.datasource.druid.initialSize20 spring.datas…

一条命令彻底卸载Linux自带多个版本jdk

一条命令彻底卸载Linux自带多个版本jdk 检查系统已经安装的jdk rpm -qa | grep java卸载所有已经安装的 jdk xargs 将参数逐个传递 将已安装的 java 程序逐个当做参数传递给 rpm -e --nodeps rpm -qa | grep java | xargs rpm -e --nodeps再次检查系统已经安装的jdk rpm -qa | …

机器视觉公司为什么宁愿高薪招新人,也不愿加薪留老员工?老员工特殊时间特殊照顾,新人必须常照顾

​职场常出现的“薪酬倒挂”现象。其实这是正常的职场规律&#xff0c;实际上是企业管理不得不面对的一种选择。 很多企业宁愿老员工离职也不加薪&#xff0c;却高薪请新员工&#xff1f;这就是职场上的鲶鱼效应&#xff0c;一些高层领导认为一个企业&#xff0c;老员工好比沙…

【docker】docker总结

一、Docker简介 Docker是开源应用容器引擎&#xff0c;轻量级容器技术。基于Go语言&#xff0c;并遵循Apache2.0协议开源Docker可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中&#xff0c;然后发布到任何流行的Linux系统上&#xff0c;也可以实现虚拟化容…

【Linux】权限的理解和使用

&#x1f466;个人主页&#xff1a;Weraphael ✍&#x1f3fb;作者简介&#xff1a;目前正在学习c和算法 ✈️专栏&#xff1a;Linux &#x1f40b; 希望大家多多支持&#xff0c;咱一起进步&#xff01;&#x1f601; 如果文章有啥瑕疵&#xff0c;希望大佬指点一二 如果文章对…

Rust并发编程:理解线程与并发

大家好&#xff01;我是lincyang。 今天我们来深入探讨Rust中的并发编程&#xff0c;特别是线程的使用和并发的基本概念。 Rust中的线程 Rust使用线程来实现并发。线程是操作系统可以同时运行的最小指令集。在Rust中&#xff0c;创建线程非常简单&#xff0c;但与此同时&…

SpringBoot:kaptcha生成验证码

GitHub项目地址&#xff1a;GitHub - penggle/kaptcha: kaptcha - A kaptcha generation engine. kaptcha介绍 kaptcha官网&#xff08;Google Code Archive - Long-term storage for Google Code Project Hosting.&#xff09;对其介绍如下&#xff0c; kaptcha十分易于安装…