• 对接mysql数据库遇见的一些问题


    环境:asp.net mvc 用MySql.Data查询别人家的库

    1.mysql数据库中保存的日期,可以是int类型,叫什么什么时间戳,我也不知道为什么保存成这种格式

    为了转换成DateTime格式,还需要一个sql函数:

    SELECT id,title,writer,from_unixtime(`pubdate`) pubdate FROM dede_archives order by pubdate desc LIMIT 0,10
    

    更奇怪的是from_unixtime(`pubdate`),里面的`是英文状态下Esc键下面的那个键,用普通的英文引号转换的日期是默认的日期“1970……”

    2.dede_archives表中一个字段shorttitle的类型是char(36),这导致连接器把该类型当做guid类型,提示如下:

    System.FormatException: Guid should contain 32 digits with 4 dashes (xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx).
    at System.Guid.TryParseGuidWithNoStyle(String guidString, GuidResult& result)
    at System.Guid.TryParseGuid(String g, GuidStyles flags, GuidResult& result)
    at System.Guid..ctor(String g)
    at MySql.Data.Types.MySqlGuid.MySql.Data.Types.IMySqlValue.ReadValue(MySqlPacket packet, Int64 length, Boolean nullVal)
    at MySql.Data.MySqlClient.NativeDriver.ReadColumnValue(Int32 index, MySqlField field, IMySqlValue valObject)
    at MySql.Data.MySqlClient.ResultSet.ReadColumnData(Boolean outputParms)
    at MySql.Data.MySqlClient.ResultSet.NextRow(CommandBehavior behavior)
    at MySql.Data.MySqlClient.MySqlDataReader.Read()

    详情请参考:MySQL中char(36)被认为是GUID导致的BUG及解决方案

  • 相关阅读:
    复制带中文的公式贴到通达信公式中显示乱码解决方案
    命令指定线程个数
    随机姓名
    将二维list某列组成新的list
    jenkins配置小结
    jmeter5.0 while controller使用总结
    centos7 桌面化配置
    django study1 数据库
    centos7 安装firefox
    python之self
  • 原文地址:https://www.cnblogs.com/doujiaomifan/p/3873745.html
Copyright © 2020-2023  润新知