【发布时间】:2014-04-09 01:35:39
【问题描述】:
我有这个:
这是之前的 chars_insert。
BEGIN
IF EXISTS (SELECT * FROM chars WHERE accid = NEW.accid)
BEGIN
INSERT INTO `char_vars` SET `charid = NEW.charid, `varname` = `NotFirstChar`, `value` = 1;
END
INSERT INTO `char_equip` SET `charid` = NEW.charid;
INSERT INTO `char_exp` SET `charid` = NEW.charid;
INSERT INTO `char_jobs` SET `charid` = NEW.charid;
INSERT INTO `char_pet` SET `charid` = NEW.charid;
INSERT INTO `char_points` SET `charid` = NEW.charid;
INSERT INTO `char_profile` SET `charid` = NEW.charid;
INSERT INTO `char_storage` SET `charid` = NEW.charid;
INSERT INTO `char_inventory` SET `charid` = NEW.charid;
END
我刚刚添加了 IF EXISTS 部分……它破坏了触发器。我正在尝试查找一个 accountid 是否已经有一个字符,如果有,则向创建的字符添加一个变量,说明这不是他们的第一个字符。它说错误出现在 IF EXISTS 行,但我没有看到任何错误...请帮忙?
【问题讨论】:
-
触发器和过程的语法往往是特定于实现的。请用您正在使用的 SQL 方言进行标记。
-
@Turophile SQL server 2012,MySQL,并在 Navicat 中使用
标签: mysql sql triggers navicat