mysql 存储函数 参数_mysql存储函数参数

我刚刚开始创建一个存储函数,这是我第一次,所以我遇到了一些问题.目前我使用SELECT test()调用该函数; (test是现在的函数名称).我想向函数(用户名ID)发送一个数字并返回用户名.

我有这个工作使用SELECT test(1); 1是表中用户的ID.这似乎与返回用户名有关,但如果我输入任何数字,也会返回相同的用户名.

BEGIN

DECLARE new_username VARCHAR(90);

SELECT `username` INTO new_username FROM `users` WHERE `ID` = ID;

return new_username;

END

我已将参数设置为ID int.

我是否正确地认为关键字INTO会将用户名的值放入变量new_username?如果我在没有INTO的情况下运行它,我会得到错误:

Not allowed to return a result set from a function

我是否在这方面犯了任何明显的错误,我希望我没有完全错误.谢谢你的任何建议:).

编辑:我刚刚在我的表中添加了几行,现在我收到错误:

Result consisted of more than one row

完整的sql版本:

CREATE DEFINER=`elliotts`@`%` FUNCTION `test`(ID int)

RETURNS varchar(32) CHARSET latin1

BEGIN

DECLARE new_username VARCHAR(32);

SELECT `username`

INTO new_username

FROM `users`

WHERE `ID` = ID;

return new_username;

END

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值