【发布时间】:2017-08-05 13:21:27
【问题描述】:
我想将存储过程输入参数设置为静态 int 值或从子查询生成的值,具体取决于它的字符串值。
所以基本上我在我的存储过程开始时就有了这个;之后是用于创建新产品的常规 INSERT 查询。
IF @typeName = 'Unassigned'
BEGIN
SET @typeName = 0;
END
ELSE
BEGIN
SET @typeName = (SELECT type.id FROM shared.prod_type type
WHERE type.name = typeName COLLATE utf8_unicode_ci);
END
这只是在 phpMyAdmin 中给我一个错误,说我的语法错误,但没有指明是哪一部分。
非常感谢任何帮助
【问题讨论】:
-
什么是语法错误?它应该指向代码中的一行。
-
它只是做了一个大的错误转储显示完整的查询并说
check the manual that corresponds to your MySQL server version for the right syntax to use near 'BEGIN SET @typeName = 0; END ELSE BEGIN SET @typeName = (SELECT typ' at line 2
标签: mysql sql database stored-procedures phpmyadmin