sql >> Databasteknik >  >> RDS >> Mysql

Konverterar mysql-kolumnen från INT till TIMESTAMP

Du är nästan där, använd FROM_UNIXTIME() istället för att direkt kopiera värdet.

-- 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. Mysql-funktion som returnerar ett värde från en fråga

  2. Ruttmodellbindning fungerar inte

  3. Undantag för MySQL-anslutningen 6.7.4 och Entity Framework 5

  4. Ramen för ett Apache Spark Job Run!