所以我在这里读到:Why doesn't MySQL support millisecond / microsecond precision?从版本5.6.4开始,日期时间格式应该是毫秒。
但它对我来说并不起作用,即使是在它没有做到的几十秒内也是如此。当我做我的" INSERT"查询,保存的值看起来像这样" 2014-09-15 15:05:54"。
我想插入的值如下所示:" 2014-09-15T15:05:54.0" 因此,当我做比较时,我会收到错误:/
这是我的INSERT查询:
$bdd->query('INSERT INTO ev
(id_event, ts, sp, lg, dir)
VALUES
(NULL,"'.$evTs.'","'.$ev_sp.'","'.$ev_lg.'","'.$ev_dir.'")');
" $ evTs"是时间戳。
更新1
我如何创建表格ev:
'CREATE TABLE `ev` (
`id_event` int(32) NOT NULL AUTO_INCREMENT,
`ts` datetime NOT NULL,
`sp` int(32) NOT NULL,
`lg` int(32) NOT NULL,
`dir` int(32) NOT NULL,
`nbr_voie` int(32) NOT NULL,
PRIMARY KEY (`id_event`)
)
答案 0 :(得分:2)
那是因为T
不是有效的mysql时间字符串的一部分。 MySQL的日期/时间字符串格式一直是
yyyy-mm-dd hh:mm:ss
现在支持小数秒
yyyy-mm-dd hh:mm:ss.sssss
在这种格式中没有任何地方支持T
。您必须使用STR_TO_DATE()
来解析您的"非标准"格式化为MySQL将接受的东西。或者甚至只是使用字符串替换并执行REPLACE('yourstring', 'T', ' ')