语句:
DELIMITER //
create PROCEDURE pro_test()
BEGIN
DECLARE first_name CHAR(1);
DECLARE last_name CHAR(1);
SET first_name = SUBSTRING('赵钱孙李周吴郑王林杨柳刘孙陈江阮侯邹高彭徐', FLOOR(21*RAND()), 1);
SET last_name = SUBSTRING('甲乙丙丁静景京晶名明铭敏闵民军君俊骏天田甜兲恬益依成城诚立莉力黎励',FLOOR(33*RAND()), 1);
SET @exesql = 'INSERT INTO user(first_name, last_name) values (?, ?)';
prepare stmt from @exesql;
EXECUTE stmt USING first_name, last_name;
END //
DELIMITER ;
报错是:
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'first_name, last_name;
END' at line 8
其实想做的事情也是很明显的:插入一条数据是动态生成的
变量using加@吧