|
|
|
| Как вставить данные в формате метки времени Unix?
В обычном формате данные вносятся, так данные по сообщению урезаются и не вставляются.
Таблица.
CREATE TABLE test2 (id INT NOT NULL, datetime TIMESTAMP, status varchar(255) NULL);
|
Вставка данных.
mysql> INSERT INTO test2 (id, datetime, status) VALUES ("14859654", UNIX_TIMESTAMP('2005-03-27 02:00:00'), NULL);
Query OK, 1 row affected, 1 warning (0.00 sec)
|
mysql> show warnings;
+---------+------+-----------------------------------------------+
| Level | Code | Message |
+---------+------+-----------------------------------------------+
| Warning | 1265 | Data truncated for column 'datetime' at row 1 |
+---------+------+-----------------------------------------------+
1 row in set (0.00 sec)
mysql>
|
mysql> INSERT INTO test2 (id, datetime, status) VALUES ("14859654", NOW(), NULL);
Query OK, 1 row affected (0.00 sec)
|
| |
|
|
|
|
|
|
|
для: lgar
(25.09.2011 в 20:37)
| | Дело в том, что UNIXSTAMP изначально спроектирован и используется для хранения времени в целом числе. Поэтому самым лучшим вариантом будет если вы вместо типа данных DATETIME будет использовать INT. Да, MySQL поддерживает тип TIMESTAMP, но у него специфические функции - это поле автоматически обновляется при использовании операторов INSERT и UPDATE. Раньше оно хранило время в формате UNIXSTAMP, сейчас его переделали на формат DATETIME. Поэтому если вам нужна чистая UNIXSTAMP-метка, лучше всего воспользоваться типом столбца INT. | |
|
|
|