varios update una tabla registros operaciones eliminar datos como borrar actualizar actualización sql mysql

sql - una - operaciones de actualización o update.



Eliminar en la condición de actualización sin soltar la tabla mysql (4)

Para su caso de uso, creo que estaría mejor servido con DATETIME , por ejemplo:

ALTER TABLE `my_table` CHANGE `my_col` `my_col` DATETIME NOT NULL DEFAULT NOW();

Esto se establecerá de forma predeterminada en NOW() al insertar, pero no se verá afectado en la actualización.

Consulte esta pregunta para obtener una buena explicación de la diferencia: ¿Debo usar el campo ''datetime'' o ''timestamp''?

Tengo una tabla mysql y entradas de datos en ella:

CREATE TABLE `invoices`.`invoices` ( `InvoiceID` bigint(20) unsigned NOT NULL auto_increment, `UserID` int(10) unsigned NOT NULL, `Value` decimal(10,3) NOT NULL, `Description` varchar(4048) NOT NULL, `DateTime` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP, PRIMARY KEY (`InvoiceID`) ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=latin5;

Quiero eliminar la condición "en la actualización CURRENT_TIMESTAMP". ¿Cómo puedo alterar esta tabla?


el ans de aularon no eliminará la condición de actualización

Se puede eliminar usando los siguientes 2 comandos:

ALTER TABLE `invoices`.`invoices` CHANGE `DateTime` `DateTime` TIMESTAMP NOT NULL DEFAULT 0; ALTER TABLE `invoices`.`invoices` CHANGE `DateTime` `DateTime` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP;

Nota : esto funcionará solo en MySQL y no en SQL Server


ALTER TABLE `invoices`.`invoices` CHANGE `DateTime` `DateTime` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP


ALTER TABLE `invoices` CHANGE `DateTime` `DateTime` TIMESTAMP NOT NULL DEFAULT ''0000-00-00 00:00:00''

o

ALTER TABLE `invoices` CHANGE `DateTime` `DateTime` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP