本人菜鸟。请教大家个问题。
存储过程中用 select max(xxx) as id from table; 结果集没数据呢。
sql语句直接执行是有数据的。请赐教。下面是代码。DROP PROCEDURE IF EXISTS tripdatatest.pr_InsertTravelss;
CREATE PROCEDURE tripdatatest.`pr_InsertTravelss`()
BEGIN
DECLARE i INT DEFAULT 0;
DECLARE travelsID INT DEFAULT 0;
declare err int default 0;
declare continue handler for sqlexception set err = 1;
start transaction;
select max(TravelsID) as id from t_travelsinfo; if err = 0 then
commit;
else
rollback;
end if;
END;
存储过程中用 select max(xxx) as id from table; 结果集没数据呢。
sql语句直接执行是有数据的。请赐教。下面是代码。DROP PROCEDURE IF EXISTS tripdatatest.pr_InsertTravelss;
CREATE PROCEDURE tripdatatest.`pr_InsertTravelss`()
BEGIN
DECLARE i INT DEFAULT 0;
DECLARE travelsID INT DEFAULT 0;
declare err int default 0;
declare continue handler for sqlexception set err = 1;
start transaction;
select max(TravelsID) as id from t_travelsinfo; if err = 0 then
commit;
else
rollback;
end if;
END;
在MYSQL中运行,结果如何?
DECLARE travelsID INT DEFAULT 0; 中的travelsID 被mysql认为是 TravelsID ,和字段名冲突。mysql不区分大小写。