gpt4 book ai didi

mysql - datetime(6) 适用于 XAMPP,但不适用于最新的 Ubuntu MySQL 服务器

转载 作者:行者123 更新时间:2023-11-29 12:38:36 25 4
gpt4 key购买 nike

我有一个 API,每天只能使用 1000 次。

所以每次我调用 API 时,我都会在数据库中放置一个时间戳。现在,如果我在同一秒内将时间戳放入数据库中,并且它是主键,则会出现异常,因此通过添加 (6) (秒的分数)解决了问题

CREATE TABLE `apicall` (
`timestamp` datetime(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6),
PRIMARY KEY (`timestamp`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

如果我使用工作台并将其从 Windows 上的 Xampp 放入我的 MySQL,则运行良好且没有问题。

如果我在 ubuntu LAMP 服务器上的工作台中添加完全相同的代码,它会提示存在语法错误。

有谁知道为什么,有文档为什么,链接到博客为什么?或者也许更重要的是,有一个可能的解决方案的建议吗?

最佳答案

本地和ubuntu服务器的mysql版本存在差异。

在您的本地,您至少有 MySQL 5.6.4,而在 Ubuntu 中,它低于该版本,并且在该版本之前,不支持 datetime(n)

查看此处了解更多详细信息

http://dev.mysql.com/doc/refman/5.6/en/fractional-seconds.html

在这种情况下,您可能需要使用 as

CREATE TABLE `apicall` (
`timestamp` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (`timestamp`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

请注意,在旧版本的 Mysql 中,您不能拥有

`timestamp` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP

这需要

`timestamp` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,

但是从 MySQL 5.6.5 开始您就可以拥有它。

关于mysql - datetime(6) 适用于 XAMPP,但不适用于最新的 Ubuntu MySQL 服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26423748/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com