gpt4 book ai didi

mysql - 由于 UTC 原因,无法将数据插入 MYSQL

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

我正在尝试使用 FullCalendar v4,但无法将数据发布到 MySQL。我已将问题范围缩小到 $start 和 $end 末尾有 UTC,即使我的数据类型是 TIMESTAMP,MySQL 也不会接受它。如果我手动将标准日期时间数据(没有 UTC)分配给 $start 和 $end ,它将发布到表中。我通过覆盖 $POST 中的数据,在 event.php 中注释掉了有效的语句。

我的想法是 MySQL 中存在一些问题,导致 TIMESTAMP 数据类型实际上是 DATETIME 数据类型。我已经使用如下所示的 SQL 语句删除并创建了表。

运行 -> MySQL 8.01.5、Windows Server 2016、PHP 7.2.7,使用 jQuery

... 创建表 calendarsystem.events (

id int(11) NOT NULL AUTO_INCREMENT,

title VARCHAR(45) NOT NULL ,

start TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,

end TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,

resourceId VARCHAR(45) NOT NULL ,

PRIMARY KEY (id)

);

...

add_event.php 的代码:

<?php
$title = $_POST['title'];
$start = $_POST['start'];
$end = $_POST['end'];
$resourceId = $_POST['resourceId'];

//$title = 'wtf';

//$start = '2019-03-25 16:00:00';

//$end = '2019-03-25T17:00:00';

//$resourceId = 'b';

try {
require "db_config.php";
} catch(Exception $e) {
exit('Unable to connect to database.');
}

$sql = "INSERT INTO events (title, start, end, resourceId) VALUES (:title, :start, :end, :resourceId )";

$q = $bdd->prepare($sql);

q->execute(array(':title'=>$title,':start'=>$start,':end'=>$end,':resourceId'=>$resourceId));
?>

...

如果我打开 MySQL Workbench 并尝试使用从 chrome 输出窗口复制的 UTC 添加数据,我在应用时会收到以下错误:

操作失败:将 SQL 脚本应用到数据库时出错。执行:插入日历系统事件(开始结束标题资源 ID) VALUES ('2019-03-25T14:00:00-05:00', '2019-03-25T15:00:00-05:00', 'xxx', 'b');

错误 1292:1292:日期时间值不正确:第 1 行“开始”列的“2019-03-25T14:00:00-05:00”SQL语句:插入日历系统事件(开始结束标题资源 ID) VALUES ('2019-03-25T14:00:00-05:00', '2019-03-25T15:00:00-05:00', 'xxx', 'b')

抱歉,帖子格式很糟糕

最佳答案

我认为 MySQL 无法识别“T”字符或字符串值中的尾随时间偏移量。

 '2019-03-25T15:00:00-05:00'
^ ^^^^^^

解决该问题的一种方法是删除 T 字符和偏移量

 '2019-03-25 15:00:00'
^

我们希望 MySQL 能够识别该格式的字符串。

或者,我们可以使用具有适当格式模型的STR_TO_DATE函数,以便MySQL可以从不同格式的字符串中解释日期时间/时间戳值。

MySQL引用手册中的相关主题在这里:

https://dev.mysql.com/doc/refman/8.0/en/date-and-time-literals.html

关于mysql - 由于 UTC 原因,无法将数据插入 MYSQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55421451/

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