sql >> Database teknologi >  >> RDS >> Mysql

Konvertering af mysql kolonne fra INT til TIMESTAMP

Du er næsten der, brug FROM_UNIXTIME() i stedet for direkte at kopiere værdien.

-- 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. Problemer med postgresql COPY kommando med Rails på anden server

  2. Hjælpeprogram:Generer PL/SQL-procedure til eksport af data fra en tabel på 2 minutter

  3. Kan nogen hjælpe med at forklare, hvorfor det er dårligt og forkert at bruge en SQL JOIN?

  4. Bestilling af resultater af ivrigt indlæste indlejrede modeller i Node Sequelize