Mysql无效的datetime格式,但仅限于特定的时间范围

时间:2018-03-18 02:13:38

标签: mysql sql

我试图将记录插入MySQL,但它失败并显示以下消息:

SQLSTATE[22007]: Invalid datetime format: 1292 Incorrect datetime value: '2018-03-25 02:54:00' for column 'trial_ends_at' at row 1 (SQL: insert into `subscriptions` (`name`, `stripe_id`, `stripe_plan`, `quantity`, `trial_ends_at`, `ends_at`, `user_id`, `updated_at`, `created_at`) values (default, redacted_id, redacted_id, 1, 2018-03-25 02:54:00, , 762, 2018-03-18 01:54:08, 2018-03-18 01:54:08))

以下更新也失败:

UPDATE `subscriptions`
    SET `trial_ends_at` = '2018-03-25 02:00:00'
    WHERE `id` = '636'
  

1292:日期时间值不正确:' 2018-03-25 02:00:00'对于专栏&'39; trial_ends_at'在第1行

但只能在我的本地计算机上(在远程服务器上正常工作)并且只能在2018-03-25 02:xx:xx范围内使用日期。

1 个答案:

答案 0 :(得分:3)

如果我不得不推测,你在欧洲,夏令时在2018-03-25凌晨2点结束。这意味着在" 2018-03-25 01:59:59"是" 2018-03-25 03:00:00"。

换句话说,时间无效,这就是您收到错误的原因。

我建议您使用" 2018-03-25 03:00:00"当地时间或使用UTC - 没有夏令时问题。