我有代码在远程服务器上查询MySQL 5.5.47数据库。我有一个创建的时间戳字段的间歇性问题,有时候返回为null。我想知道是否有可能存在交易问题并且时间戳字段没有立即写入。行为如下:
我认为这不太可能,但有可能创建和编写创建的字段是在单独的事务中完成的,并且在创建字段提交之前完成了读取项目的查询吗?使用yesql使用clojure,这是我的代码:
(let [foo (:foo input)
errors (Validator foo)]
(if (empty? errors)
(let [foo (-> (db/with-connection insert-foo<! foo)
:generated_key
(find-by-id user-id))]
(index-foo user-id foo (search/connect))
[true nil])
[false errors]))
这里是表的创建表:
foo | CREATE TABLE `foo` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
......
`created` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
......
) ENGINE=InnoDB AUTO_INCREMENT=272 DEFAULT CHARSET=utf8 |