MySQL和动态查询错误1064

MySQL和动态查询错误1064,mysql,sql,stored-procedures,Mysql,Sql,Stored Procedures,有人知道我为什么总是在下面出现这个错误吗?我好像摇不动它 调用测试\u删除('WOW@GMAIL.COM'',''2c016cd6-87e6-11e1-9fac-001cd4565d26'',0)错误代码:1064。您的SQL语法有错误;查看与您的MySQL服务器版本对应的手册,了解在“UPDATE user u SET u.enable=”附近使用的正确语法?其中,第2行的“u.” DELIMITER $$ CREATE PROCEDURE `test_delete`(

有人知道我为什么总是在下面出现这个错误吗?我好像摇不动它

调用测试\u删除('WOW@GMAIL.COM'',''2c016cd6-87e6-11e1-9fac-001cd4565d26'',0)错误代码:1064。您的SQL语法有错误;查看与您的MySQL服务器版本对应的手册,了解在“UPDATE user u SET u.enable=”附近使用的正确语法?其中,第2行的“u.”

 DELIMITER $$    
    CREATE PROCEDURE `test_delete`(
        IN username NVARCHAR(255),
        IN district_admin_ids LONGTEXT,
        IN active BIT(1)
    )
    BEGIN

    SET @username = username;
    SET @district_admin_ids = district_admin_ids;
    SET @active = CASE WHEN active > 0 THEN 1 ELSE 0 END;

    SET @query = CONCAT('
                        SET SQL_SAFE_UPDATES=0;
                        UPDATE user u
                        SET u.enable = ? 
                        WHERE u.id IN (
                            SELECT da.id
                            FROM test da
                            WHERE u.id = da.id 
                            AND u.username = ?
                            AND da.id IN (?)
                        );');

    PREPARE statement FROM @query;
    EXECUTE statement USING @active, @username, @district_admin_ids;
    DEALLOCATE PREPARE statement;   
    END

移动
设置SQL\u安全\u更新=0在动态查询之外,它工作了