gpt4 book ai didi

mysql - sql如果存在简单语法错误

转载 作者:行者123 更新时间:2023-11-29 05:32:41 27 4
gpt4 key购买 nike

我不断收到此语法错误,但在与其他示例进行比较时找不到任何问题。

if EXISTS (select 1 from City where name = 'Perth')
THEN Print 'Record exits - Update'
ELSE Print 'Record doesn''t exist - Insert'

我发现错误:

#1064 - You have an error in your SQL syntax; check the manual that corresponds
to your MySQL server version for the right syntax to use near 'if EXISTS (select
1 from City where name = 'Perth') THEN Print 'Record e' at line 1

我在 zend cloud 和普通的 phpmyadmin mysql 5 上都得到了这个

最佳答案

这实际上不是有效的 MySQL 查询。看起来您正在尝试将 SQL 与您希望根据查询是否存在显示输出的方式混合在一起。您可以使用它来返回是否 Perth存在于 SQL 中:

SELECT EXISTS(SELECT 1 FROM City WHERE name = 'Perth')

这将返回 10 ,然后您可以使用服务器端脚本对其进行解析。它给你一个语法错误的原因是因为 MySQL IF语句采用 IF(condition, <action if true>, <action if false>) 的形式, 没有使用 THENELSE (在编程语言中很常见)。此外,MySQL 没有明确的 PRINT。语句,但您可以使用 SELECT在某种程度上完成您上面想要的(请注意,我们可以删除 EXISTS,因为如果结果不返回任何内容,则隐含为 False):

SELECT IF(
(SELECT 1 FROM City WHERE name = 'Perth'),
(SELECT 'Record exists - update'),
(SELECT 'Record does not exist - Insert')
)

关于mysql - sql如果存在简单语法错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13409498/

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