对接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及解决方案

对接mysql数据库遇见的一些问题,古老的榕树,5-wow.com

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。