MySQL - Как да вмъкна текущата дата като времево клеймо на Unix?

Имам таблица, наречена „продукти“ с няколко колони. Една от тях се нарича „дата“ и трябва да съдържа датата, на която продуктът е добавен като времево клеймо на Unix. Обикновено бих използвал функцията NOW(), но тъй като стойността трябва да е цяло число и не мога да преобразувам функцията NOW() като цяло число, трябва да намеря друг начин. Някакви идеи ?


person Simon D    schedule 14.10.2015    source източник


Отговори (2)


MySQL има функция с изненадващо име unix_timestamp:

INSERT INTO `products`
(`name`, `date`)
VALUES ('some name', UNIX_TIMESTAMP())
person Mureinik    schedule 14.10.2015

Променете колоната да бъде от тип TIMESTAMP и задайте нейната стойност по подразбиране (ако искате да зададете колоната на датата, на която е добавена) на CURRENT_TIMESTAMP.

ALTER TABLE `products` MODIFY `date` TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL;

TIMESTAMP не е низ, а цяло число времево клеймо, то просто се показва като низ и можете да използвате оператори върху него.

С DEFAULT CURRENT_TIMESTAMP не е необходимо да вмъквате датата, mysql ще го направи вместо вас.

person x13    schedule 14.10.2015