mysql建立存储过程报错?

语句:

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
    

其实想做的事情也是很明显的:插入一条数据是动态生成的

阅读 2.2k
1 个回答

变量using加@吧

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题