DELIMITER //
CREATE PROCEDURE gennid ()
BEGIN DECLARE st VARCHAR(100);
START TRANSACTION;
IF NOT EXISTS (SELECT 1 FROM order_key) THEN
SET @sqlstr=CONCAT('insert into order_key select substring(`key`,8) from order', DATE_FORMAT(CURDATE(), '%Y%m'), ' order by id desc limit 1');
PREPARE st FROM @sqlstr;
EXECUTE st;
ELSE
UPDATE order_key SET id=id+1;
END IF;
SELECT id INTO @iid FROM order_key;
COMMIT;
END
//
调用是call gennid();请问怎么能让其在5.3也能返回结果!???
CREATE PROCEDURE gennid ()
BEGIN DECLARE st VARCHAR(100);
START TRANSACTION;
IF NOT EXISTS (SELECT 1 FROM order_key) THEN
SET @sqlstr=CONCAT('insert into order_key select substring(`key`,8) from order', DATE_FORMAT(CURDATE(), '%Y%m'), ' order by id desc limit 1');
PREPARE st FROM @sqlstr;
EXECUTE st;
ELSE
UPDATE order_key SET id=id+1;
END IF;
SELECT id INTO @iid FROM order_key;
COMMIT;
END
//
调用是call gennid();请问怎么能让其在5.3也能返回结果!???
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货