Share the pitfalls of MySQL's current_timestamp and their solutions

Share the pitfalls of MySQL's current_timestamp and their solutions

MySQL's current_timestamp pitfall

Report an error

Incorrect table definition; there can be only one TIMESTAMP column with CURRENT_TIMESTAMP in DEFAULT or ON UPDATE clause

The answers on the Internet are basically as follows, but there is no specific solution

The reason for the solution is that when you set a timestamp to on updatecurrent_timestamp, other timestamp fields need to explicitly set default values

But if you have two timestamp fields, but only set the first one to current_timestamp and the second one has no default value, MySQL can successfully create the table, but not the other way around...

My Solution

Uninstall the current lower version of MySQL and install MySQL version 5.6 or higher. MySQL version 5.7 is recommended as it is relatively stable.

mysql5.5.23 current_timestamp problem

Today I created a new table with two fields: creation time and update time. Both default values ​​are the current time. An error occurs when executing SQL.

ERROR 1293 (HY000): Incorrect table definition; there can be only one TIMESTAMP column with CURRENT_TIMESTAMP in DEFAULT or ON UPDATE clause

I have used this SQL in other projects and it works fine. Why can't it be executed successfully today? After confirming that there were no syntax errors in the sql, I checked the information online. It turns out that MySQL 5.5 only supports one time field in a table using CURRENT_TIMESTAMP and ON UPDATE CURRENT_TIMESTAMP. But in 5.6 it supports multiple.

Original description

It is not possible to have the current timestamp be the default value for one column and the auto-update value for another column.

Solution

Remove the default creation time

Check the MySQL version number using the status command

這里寫圖片描述

The above is my personal experience. I hope it can give you a reference. I also hope that you will support 123WORDPRESS.COM.

You may also be interested in:
  • Solution to MySQL error TIMESTAMP column with CURRENT_TIMESTAMP
  • Analyzing the MySql CURRENT_TIMESTAMP function by example
  • Detailed explanation of TIMESTAMP usage in MySQL

<<:  How to prevent the scroll bar from affecting the page width when the scroll bar appears on the page

>>:  CSS animation combined with SVG to create energy flow effect

Recommend

Element UI table realizes drop-down filtering function

This article example shares the specific code for...

Tutorial on installing Ubuntu 20.04 and NVIDIA drivers

Install Ubuntu 20.04 Install NVIDIA drivers Confi...

Docker uses the Prune command to clean up the none image

Table of contents The creation and confusion of n...

Highly recommended! Setup syntax sugar in Vue 3.2

Table of contents Previous 1. What is setup synta...

js regular expression lookahead and lookbehind and non-capturing grouping

Table of contents Combining lookahead and lookbeh...

Handwritten Vue2.0 data hijacking example

Table of contents 1: Build webpack 2. Data hijack...

Summary of the use of special operators in MySql

Preface There are 4 types of operators in MySQL, ...

Detailed explanation of Mysql's method of optimizing order by statement

In this article, we will learn about the optimiza...

Detailed explanation of HTML tables

Function: data display, table application scenari...

Simple steps to encapsulate components in Vue projects

Table of contents Preface How to encapsulate a To...

Linux Domain Name Service DNS Configuration Method

What is DNS The full name of DNS is Domain Name S...

How to use the realip module in Nginx basic learning

Preface There are two types of nginx modules, off...

Comparative Analysis of IN and Exists in MySQL Statements

Background Recently, when writing SQL statements,...