sql >> Database >  >> RDS >> Mysql

Mysql-kolom converteren van INT naar TIMESTAMP

Je bent er bijna, gebruik FROM_UNIXTIME() in plaats van de waarde direct te kopiëren.

-- creating new column of TIMESTAMP type
ALTER TABLE `pm`
  ADD COLUMN `date_sent2` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP();

-- Use FROM_UNIXTIME() to convert from the INT timestamp to a proper datetime type
-- assigning value from old INT column to it, in hope that it will be recognized as timestamp
UPDATE `pm` SET `date_sent2` = FROM_UNIXTIME(`date_sent`);

-- dropping the old INT column
ALTER TABLE `pm` DROP COLUMN `date_sent`;

-- changing the name of the column
ALTER TABLE `pm` CHANGE `date_sent2` `date_sent` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP();


  1. Vertrouwen herstellen in een externe sleutelbeperking in SQL Server (T-SQL-voorbeelden)

  2. Hoe converteer ik tijd in seconden naar het HH:MM:SS-formaat in MySQL?

  3. Hoe een string te vullen met voor-/achtervolgende karakters in MySQL – LPAD(), RPAD()

  4. MySQL:toewijzingstabellen begrijpen