不知哪位高手能回答这个问题:
MySQL的Datetime字段在MySQL的数据文件件是是如何存放的?
我想用C编个程序来直接写MySQL是MYD数据文件,char这些数据类型如何写都搞定了,就是这个DateTime数据类型不知道如何写。
我看了一下,如果字段的值为2008/02/01 13:09:50,则写到数据文件中的内容 是:C6 63 41 49 43 12 00 00。
按MySQL官方网站上的说明,DateTime数据类型的存放方式是YYYY * 10000 + MM * 100 + DD,HH×10000 + MM×100 + SS 。但我算了一下,根本就不一样。不知道哪位大师了解这方 面的内容,可否赐教一下?谢谢。

解决方案 »

  1.   

    这个,似乎需要读读源码。
    好好的C-API不用,为什么非要直接去读写MYD文件呢?
      

  2.   

    datetime在mysql中占用8个字节,前4个字节存储base date(即1900年1月1日)之前或之后的天数,后4个字节存储午夜后的毫秒数。
      

  3.   

    还没有时间研究过源代码。只知道DATETIME 是10个字节存放在磁盘里,类似于char(10)!
      

  4.   

    我找到答案了。应该用int64来表示。