0
我试图创建一个包含书籍信息(标题,作者,出版商等)的字符串并将该数据插入到多个表中的过程。具有不编码的许多这些我试图做一块程序块,并得到了这一点:在编写存储过程在mysql中定位时遇到问题
create procedure AddBook(in details varchar(255),
out new_title varchar(255),
out new_author varchar(255),
out new_pname varchar(255),
out new_paddress varchar(255),
out new_pphone char(10),
out my_index int)
begin
Declare title varchar(255);
Declare author varchar(255);
Declare pname varchar(255);
Declare paddress varchar(255);
Declare pphone char(10);
Declare curIndex int;
Declare bid int;
Declare temp varchar(255);
set details = trim(details);
set curIndex = locate(',', details);
set title = substring(details, 1, curIndex - 1);
set temp = substring_index(details, ',', 2);
set author = substring(temp, locate(temp, ',', 1) + 1);
最后一行是我卡住了。无论出于何种原因,即使我知道temp中有一个逗号,locate也返回0。我的输入是
call AddBook('my book, George Foreman, pub4, 189, 1234567890', @title, @author, @pname, @paddress, @pphone, @index);
所有out变量用于调试,稍后将被删除。我发现温度以“我的书,乔治福尔曼”的价值结束,但找到找不到逗号(有或没有第三个参数。是否有东西我失踪?