以下内容由CHATGPT及阿里嘎多学长共同生成、有用望采纳:
这个错误是因为你在存储过程的定义中使用了SELECT INTO语句,但是语法不正确。正确的语法应该是在SELECT语句之前声明变量,然后使用SELECT语句将结果赋值给该变量。例如:
DELIMITER $$
CREATE PROCEDURE `sp_test`()
BEGIN
DECLARE var1 INT;
SELECT COUNT(*) INTO var1 FROM table_name;
END$$
DELIMITER ;
这样就可以正确地定义存储过程了。你可以根据自己的实际需求来修改这个例子。
可以查看我之前的存储过程:
https://blog.csdn.net/lydms/article/details/120383054
应该是IF语法使用不正确:
IF val IS NULL
THEN SELECT 'val is NULL‘;
ELSE SELECT 'val is NOT NULL';
END IF;
ALTER TABLE 数据库表名 MODIFY `字段名` TEXT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
SHOW FULL COLUMNS FROM 表名;
Collation
值为utf8mb4_unicode_ci
。判断语法参考:
BEGIN
IF 条件 THEN
执行语句
END IF;
END;
BEGIN
IF 条件 THEN
执行语句
ELSE
执行语句
END IF;
END;