代码之家  ›  专栏  ›  技术社区  ›  Paul

无法在MSAccess数据库中使用带毫秒的DateTime作为主键

  •  1
  • Paul  · 技术社区  · 8 年前

    我有一个软件,将数据记录到一个表中,当前日期和时间精确到毫秒。PostgreSQL和MSSQL Server中没有问题,但在MDB中存在主键冲突。当我使用MS Access查看表格时,它显示的日期时间精确到秒。

    可以将毫秒写入MDB吗?

    2 回复  |  直到 8 年前
        1
  •  2
  •   Erik A    8 年前

    Access中的DateTime字段具有秒精度(它实际上存储为浮点数,但以秒为单位进行报告和设置)。如果要存储毫秒,可以将其存储在不同的字段中。

    可以将日期/时间的毫秒部分存储在整数字段中,然后使用组合主键链接这两个字段。我从未听到过反对复合主键的有力论据,但充其量也很奇怪。

        2
  •  0
  •   Gord Thompson    8 年前

    为了完整起见,可能值得一提的是 yyyy-mm-dd hh:nn:ss.fff 在文本(23)列中。该列可以用作主键,如果数字部分都是零填充的,则可以直接对值进行排序和比较。然而,日期算法会有点笨拙。