这(来自存储过程的主体)抛出语法错误:
IF (name = in_name)
SET out_id = temp;
ELSE
LOCK TABLE People WRITE;
INSERT INTO People (Name)
VALUES (in_name);
UNLOCK TABLE;
SELECT LAST_INSERT_ID() INTO out_id
END IF
我是否必须在SP开始时锁定我需要的任何表格?
答案 0 :(得分:2)
然后缺少:IF (name = in_name) THEN
但为什么要锁定桌子呢?在这个例子中它完全没有意义,它只会破坏整体性能,因为没有其他人可以对表做任何事情。锁没有添加任何东西。我没有看到这一点,但也许你没有告诉我们一切。 ;)