Mysql
 sql >> база данни >  >> RDS >> Mysql

Преобразуване на mysql колона от INT в TIMESTAMP

Почти сте готови, използвайте FROM_UNIXTIME() вместо директно копиране на стойността.

-- 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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL избира полета, съдържащи начални или крайни бели интервали

  2. Подходящ модел на база данни за система за обратна връзка от потребители (интересен случай)

  3. MySQL SELECT LAST_INSERT_ID() за комбиниран ключ. Възможно ли е?

  4. Връзка с MySQL от .NET с помощта на библиотека SSH.NET

  5. MySQL актуализира обединена таблица