Mysql程序执行时出错

标签 mysql database stored-procedures

我正在创建一个过程,该过程在有超过 100000 条记录的 courser.member_id 中选择 member_id。 我声明了一个变量 i,它存储一个成员 ID,并在下一个查询时更新它。

谁能解决这个问题..? 程序如下:-

     DELIMITER // 
    DROP PROCEDURE IF EXISTS Mock_test_1()  
    CREATE PROCEDURE Mock_test_1()    
    BEGIN DECLARE i int unsigned;  
    DECLARE curs1 CURSOR FOR select member_id from client_master; 
    open curs1 read_loop: LOOP
    FETCH curs1 INTO i; 
    update client_master set `mobileno`='0000001231',`email`=concat('MOCK',member_id,'@mock.com'),`password`=md5('MOCK'),;
  END //
 DELIMITER ;

错误

ERROR 1064 (42000): 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 '() CREATE PROCEDURE Mock_test_1() BEGIN

声明 i int unsigned;

在第 1 行声明 cu'

最佳答案

在使用触发器、存储过程等之前必须更改分隔符。

关于Mysql程序执行时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39012490/

相关文章:

php - 搜索我的 sql 数据库不起作用,它返回了所有结果

database - Django 用户和来自外部源的身份验证

sql - 如何将 SQL 中的循环转换为基于 Set 的逻辑

MySQL ODBC 连接器是 32 位还是 64 位?

PHP/MySQL Ticket Response - 在数据库中存储电子邮件响应?

关于 WHERE NOT EXISTS 的 MySQL 语法错误

php - 如何在 MySQL 中添加两个表中的两列?

mysql - 查询MySql行为

sql-server - 已保存损坏的存储过程

sql - 电话号码 : Using IF statements in a procedure produces multiple plans