mysql 创建存储过程调用一直出现错误1054

lnssyzx090720 2012-12-21 02:24:35
CREATE DEFINER = `root`@`localhost` PROCEDURE `bools`(in ming varchar(20) , in ada varchar(20))
BEGIN

DECLARE u VARCHAR(20);

SELECT book.bkISBN INTO @u FROM book WHERE book.bkName=ming;
UPDATE book SET bkName=ada WHERE professbook.pbkISBN=@u;
END;

运行时一直提示错误1054
unknown column 输入的那一列(即变量ming )
...全文
740 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
Rotel-刘志东 2014-01-24
  • 打赏
  • 举报
回复
delimiter$$ create define='root'@'localhost' procedure 'bools'(in ming varchar(20) in data varchar(20))O begin declare u varchar(20) select book.bklsbn into@u from book where book.bkname=ming; update book set bkname=ada where proessbook.pbkisbn=@u; end$$ delimiter;
xuhc2008 2014-01-24
  • 打赏
  • 举报
回复
call bools('算法设计','art');
果儿妈 2014-01-24
  • 打赏
  • 举报
回复
引用 1 楼 lnssyzx090720 的回复:
求好人帮助啊...初学者不明白..
-- UPDATE book SET bkName=ada WHERE professbook.pbkISBN=@u; 其中WHERE professbook.pbkISBN=@u; 有问题吧, 你条件想是:WHERE book.bkISBN=@u;?????
hhf02 2014-01-24
  • 打赏
  • 举报
回复
declare u,后面用的时候,为什么要用@u?
知道就是你 2014-01-24
  • 打赏
  • 举报
回复
@u表示不声明,直接使用的变量u ,而你前面有使用 declare 定义 u ,两个变量一样吗 ?如果不一样 请换个名字试试看!
ACMAIN_CHM 2012-12-21
  • 打赏
  • 举报
回复
你是如何调用你的语句的? 建议给出你完整的 create table ... create procedure ... 语句以供别人调试分析。 比如说我要输入(算法设计,art) 你的字符串常量有没有加 引号? ('算法设计',art)
wwwwb 2012-12-21
  • 打赏
  • 举报
回复
SELECT book.bkISBN FROM book WHERE book.bkName='算法设计'; 在MYSQL中运行,是否有结果 call bools('算法设计',art)
lnssyzx090720 2012-12-21
  • 打赏
  • 举报
回复
还是不对.. 比如说我要输入(算法设计,art) 然后运行提示Procedure execution failed 1054 - Unknown column '算法设计' in 'field list' 可是我book.bkName里确实有'算法设计'这个数据啊。。。
引用 2 楼 wwwwb 的回复:
delimiter $$ CREATE PROCEDURE `bools`(in ming varchar(20) , in ada varchar(20)) BEGIN DECLARE u VARCHAR(20); SELECT book.bkISBN INTO @u FROM book WHERE book.bkName=ming; UPDATE book SET b……
wwwwb 2012-12-21
  • 打赏
  • 举报
回复
delimiter $$ CREATE PROCEDURE `bools`(in ming varchar(20) , in ada varchar(20)) BEGIN DECLARE u VARCHAR(20); SELECT book.bkISBN INTO @u FROM book WHERE book.bkName=ming; UPDATE book SET bkName=ada WHERE professbook.pbkISBN=@u; END$$ delimiter ;
lnssyzx090720 2012-12-21
  • 打赏
  • 举报
回复
求好人帮助啊...初学者不明白..

56,687

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧