zoukankan      html  css  js  c++  java
  • XML Schema格式的"日期型数据”数据库存取

    对于XML Schema格式的"日期型数据”在数据库中存于datetime字段的时候,出现错误

    mysql> select @@sql_mode;
    +--------------------------------------------+
    | @@sql_mode                                 |
    +--------------------------------------------+
    | STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION |
    +--------------------------------------------+
    1 row in set (0.00 sec)
    
    mysql> insert into datetimetest(dt) values ('2013-08-26T12:00:00+00:00');
    ERROR 1292 (22007): Incorrect datetime value: '2013-08-26T12:00:00+00:00' for column 'dt' at row 1
    
    -- remove STRICT_TRANS_TABLES -- note that executing this only removes it for your
    -- current session -- it does not make a server-wide config change
    
    mysql> set @@sql_mode='no_engine_substitution';
    Query OK, 0 rows affected (0.00 sec)
    
    mysql> select @@sql_mode;
    +------------------------+
    | @@sql_mode             |
    +------------------------+
    | NO_ENGINE_SUBSTITUTION |
    +------------------------+
    1 row in set (0.00 sec)
    
    -- now MySQL will accept the invalid value, with a warning
    
    mysql> insert into datetimetest(dt) values ('2013-08-26T12:00:00+00:00');
    Query OK, 1 row affected, 1 warning (0.00 sec)
    
    mysql> show warnings;
    +---------+------+-----------------------------------------+
    | Level   | Code | Message                                 |
    +---------+------+-----------------------------------------+
    | Warning | 1265 | Data truncated for column 'dt' at row 1 |
    +---------+------+-----------------------------------------+
    1 row in set (0.00 sec)
    
    -- the value did get inserted, but the time zone information was lost:
    
    mysql> select * from datetimetest;
    +----+---------------------+
    | id | dt                  |
    +----+---------------------+
    |  1 | 2013-08-26 12:00:00 |
    +----+---------------------+
    1 row in set (0.00 sec)
    

      

    所以直接运行set @@sql_mode='no_engine_substitution';即可

  • 相关阅读:
    Linux系统下用mail(mailx)发送邮件
    Docker+Nginx+KeepaLived 简单实现Nginx高可用+负载均衡
    MySql安装(Windows版本)
    十分钟入门Git和GitHub的源码版本管理
    Sql Server数据库读写分离配置
    C 语言中的 printf() 和 scanf() 简介
    C 语言字符串简介
    C 语言概述
    初识 C 语言
    计算机中的存储器
  • 原文地址:https://www.cnblogs.com/luxiaojun/p/7246322.html
Copyright © 2011-2022 走看看