MySQL 不接受此过程。你能帮忙吗?

标签 mysql

CREATE PROCEDURE reset_xyz_autoincrement
BEGIN

  SELECT @max := MAX(ID)+ 1 FROM ABC; 

  PREPARE stmt FROM 'ALTER TABLE XYZ AUTO_INCREMENT = ?'
  EXECUTE stmt USING @max 

  DEALLOCATE PREPARE stmt;

END $$

我从这里获取了代码: How to Reset an MySQL AutoIncrement using a MAX value from another table?

这是 MySQL 输出:

#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 'BEGIN

  SELECT @max := MAX(ID)+ 1 FROM ABC' at line 2 

最佳答案

试试这个

     CREATE PROCEDURE reset_xyz_autoincrement
          (username varchar(64),password varchar(64))     // here you use your columns
      BEGIN

编辑:

试试这个

     DROP PROCEDURE IF EXISTS reset_xyz_autoincrement;
     CREATE PROCEDURE reset_xyz_autoincrement (userid INT)
      BEGIN

关于MySQL 不接受此过程。你能帮忙吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13913482/

相关文章:

MySQL-如何实现服务器端密码哈希

php - 使用php同步不同数据库中的相同表

新手的Mysql存储过程方程一步一步?

php - 如何在 MySql 中对当前月份记录求和,我的语法有问题

php - 我可以直接在 SQL 查询中处理返回值吗

mysql - 使用shell脚本在mysql中插入数据

php - 如何从从 mysqli_fetch_array() 获取的数组转换的 javascript 数组中获取所有行数据

php - Mysqli:__construct() 返回 NULL

php - MYSQL 按记录分组

php - mysql使用计数选择2个随机行