gpt4 book ai didi

mysql ON DUPLICATE KEY 无法识别

转载 作者:太空宇宙 更新时间:2023-11-03 10:41:51 25 4
gpt4 key购买 nike

此语句随机停止工作。我相信这是因为我使用的是新版本的 WAMP 4.5.2。

INSERT INTO at_user_listing_settings (userID, rfID, userID_rfID, Watching) VALUES(177, 35888, '177_35888', '1') ON DUPLICATE KEY UPDATE Watching='1'

我收到这个错误:

Unrecognized keyword. (near "ON" at position 138)
Unrecognized keyword. (near "DUPLICATE" at position 141)
Unrecognized keyword. (near "KEY" at position 151)

我似乎找不到任何语法错误,ON DUPLICATE KEY 是否已更改或弃用?

最佳答案

终于搞明白了。

当您下载新版本的 WAMP 时,它默认将 mysql 设置为“严格”模式。我的由 hostgator 托管的真实服务器必须有更宽松的限制。当尝试在本地运行代码时,代码是正确的,但是在尝试更新或插入数据库(也是本地)时,sql 语句遇到了问题。

例如,严格模式要求具有 bool 值的列具有默认值。如果任何列没有默认值,则在尝试插入时会失败。最糟糕的是它不会返回 apache 或 php 错误,因此调试起来非常困难。它也不喜欢“ON DUPLICATE KEY”。

为了解决这个问题,我进入 WAMP > MySQL > my.ini > 并寻找 sql-mode="STRICT_ALL_TABLES"

然后我删除了 STRICT_ALL_TABLES,一切都开始正常工作了。

关于mysql ON DUPLICATE KEY 无法识别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37118642/

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