"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > ¿Cuáles fueron las restricciones al usar Current_Timestamp con columnas de marca de tiempo en MySQL antes de la versión 5.6.5?

¿Cuáles fueron las restricciones al usar Current_Timestamp con columnas de marca de tiempo en MySQL antes de la versión 5.6.5?

Publicado el 2025-02-04
Navegar:896

What Were the Restrictions on Using CURRENT_TIMESTAMP with TIMESTAMP Columns in MySQL Before Version 5.6.5?

en columnas de marca de tiempo con currution_timestamp en default o en cláusulas de actualización en versiones mySQL antes de 5.6.5

históricamente, en MySQL versiones anteriores a 5.6.5, fue una restricción que limitó una tabla para tener solo una columna de marca de tiempo con una cláusula predeterminada de Turning_Timestamp o On Update Current_Timestamp. Esta limitación se extendió a int, Bigint y Smallint enteros cuando se introdujeron inicialmente en 2008.

Esta limitación proviene de un error de implementación heredada que requirió una implementación específica para la funcionalidad actual_timestamp.

] Mensaje y problemas relacionados

Por ejemplo, considere la siguiente definición de la tabla, que intenta definir dos columnas de marca de tiempo con el valor current_timestamp:

CREATE TABLE `foo` (
  `ProductID` INT(10) UNSIGNED NOT NULL,
  `AddedDate` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `UpdatedDate` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
) ENGINE=INNODB;

Esta definición daría como resultado el siguiente error:

Previously, at most one TIMESTAMP column per table could be automatically initialized or updated to the current date and time. This restriction has been lifted. Any TIMESTAMP column definition can have any combination of DEFAULT CURRENT_TIMESTAMP and ON UPDATE CURRENT_TIMESTAMP clauses. In addition, these clauses now can be used with DATETIME column definitions.

este error indicó que la definición de tabla violó la restricción mencionada anteriormente

[

eliminación de restricción

A pesar de la base técnica para esta limitación, el equipo MySQL reconoció su inconveniente. Posteriormente, en MySQL 5.6.5 (lanzado el 10 de abril de 2012), la restricción se levantó. podría inicializarse o actualizarse automáticamente a la fecha y hora actuales. Esta restricción ha sido levantada. Cualquier definición de columna de marca de tiempo puede tener cualquier combinación de las cláusulas de actualización de actualización y actualización actual. Además, estas cláusulas ahora se pueden usar con definiciones de columna DateTime.

Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3