0

我有两张表,一张列出条目,另一张列出结果。

我正在尝试在条目表上创建一个 After 触发器,该触发器在结果表中创建相应的记录,如果该记录的所有条目信息都已完成。如果应创建结果表,则列队列不为 NULL。

IF (NEW.fleet IS NOT NULL) THEN

INSERT INTO race_results (race_id,yr,race_num,owner_id,checked_in,flt)VALUES(NEW.race_id,NEW.yr,NEW.race_num,NEW.owner_id,"N",NEW.fleet)ON DUPLICATE KEY UPDATE flt =NEW.fleet;

END IF

此代码运行良好,除非它在 ​​NEW.fleet 等于 NULL 的行上运行时会引发 #1329 错误。

提前致谢。

根据输入,这是我最近的尝试。仍然不工作 桌球俱乐部只是一个不同的桌子,可以在最后进行成功的选择。

BEGIN
DECLARE clb INT(10);
declare exit handler for not found

IF (NEW.fleet IS NOT NULL) THEN

INSERT INTO race_results (race_id,yr,race_num,owner_id,checked_in,flt)
VALUES(NEW.race_id,NEW.yr,NEW.race_num,NEW.owner_id,"N",NEW.fleet)
ON DUPLICATE KEY UPDATE flt =NEW.fleet;

END IF;
SELECT club_id INTO clb from clubs WHERE club_id=1;
END
4

1 回答 1

0

“不使用处理程序”

在存储过程中使用以下查询时出现空指针问题...

Select col1 into Var from table1;

相反,我将其更改为

Set var = (select col1 from table1);

在这里它不是致命的错误......

尝试将更新的(new.fleet)值存储在变量中,然后使用它..希望它应该解决。

于 2012-07-28T16:13:04.727 回答