gpt4 book ai didi

mysql - 从存储过程和/或使用 COUNT 调用存储过程

转载 作者:行者123 更新时间:2023-11-30 23:34:06 24 4
gpt4 key购买 nike

好的,首先,我不是 mysql 大师。其次,我进行了搜索,但没有看到任何与 mysql 相关的内容,并且由于我的数据库知识有限,所以猜测两种不同数据库类型之间的语法差异是不可能的。

我试图在插入行之前确定某个特定值是否已存在于表中。我决定使用两个存储过程来解决这个问题。第一个:

CREATE PROCEDURE `nExists` ( n VARCHAR(255) ) BEGIN
SELECT COUNT(*) FROM (SELECT * FROM Users WHERE username=n) as T;
END

第二个:

CREATE PROCEDURE `createUser` ( n VARCHAR(255) ) BEGIN
IF (nExists(n) = 0) THEN
INSERT INTO Users...
END IF;
END

因此,如您所见,我正在尝试从 createUser 调用 nExists。我得到的错误是名称为 nExists 的函数不存在...因为它是一个存储过程。我不清楚区别是什么,或者为什么需要这样的区别,但我是一名 Java 开发人员,所以我可能在这里遗漏了一些与数据库相关的重要概念。

你们能帮帮我吗?谢谢

最佳答案

我不确定它对您有何帮助,但是...

why SELECT COUNT(*) FROM (SELECT * FROM Users WHERE username=n) and not just SELECT COUNT(*) FROM Users WHERE username=n?

关于mysql - 从存储过程和/或使用 COUNT 调用存储过程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9024059/

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