我创建这样MySQL存储功能问题
CREATE FUNCTION getVendorID(IN venname VARCHAR(255))
RETURNS INT
BEGIN
DECLARE a INT;
SELECT vendorid FROM vendors WHERE vendorname LIKE venname INTO a;
RETURN a;
END$$
存储功能,但是我收到一个错误:
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 'IN venname VARCHAR(255))
RETURNS INT
BEGIN
DECLARE a INT;
SELECT vendorid FRO' at line 1
SQL读**不**影响二进制日志,SQL写做!,仍然+ 1虽然。 – Johan 2011-06-15 23:06:54
READS需要SQL DATA来告诉mysql函数不会写任何东西 – piotrm 2011-06-15 23:09:44
官方文档说:*“CONTAINS SQL表示该例程不包含读取或写入数据的语句,如果没有给出这些特征,则这是默认值这样的语句的例子是SET @x = 1或者DO RELEASE_LOCK('abc'),它们既执行又不读或写数据。“*注意**这是默认的**部分。 – Johan 2011-06-15 23:13:07