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

Solution for converting to inline styles in CSS (css-inline)

Talk about the scene Send Email Embedding HTML in...

MySQL-8.0.26 Configuration Graphics Tutorial

Preface: Recently, the company project changed th...

VMware 15.5 version installation Windows_Server_2008_R2 system tutorial diagram

1. Create a new virtual machine from VMware 15.5 ...

win10 docker-toolsbox tutorial on building a php development environment

Download image docker pull mysql:5.7 docker pull ...

Mysql varchar type sum example operation

Some friends, when learning about databases, acci...

mysql5.7.18 decompressed version to start mysql service

The decompressed version of mysql5.7.18 starts th...

Detailed View of Hidden Columns in MySQL

Table of contents 1. Primary key exists 2. No pri...

CSS3 realizes the animation of shuttle starry sky

Result: html <canvas id="starfield"&...

Summary of some efficient magic operators in JS

JavaScript now releases a new version every year,...

Parsing Apache Avro Data in One Article

Abstract: This article will demonstrate how to se...

JS code to achieve page switching effect

This article example shares the specific code of ...

Correct steps to install Nginx in Linux

Preface If you are like me, as a hard-working Jav...