添加两列并存储在mysql的第三列中

时间:2017-02-02 22:02:45

标签: mysql

我已尝试过stackoverflow的几个建议,但我一直遇到错误。

我所拥有的是一张桌子:test

我有3列:

Trigger name: update_first_last
Table: test
Time: AFTER
Event: INSERT
Definition: UPDATE test SET test.first_last=CONCAT(test.first, test.last)

我想要做的是构建一个触发器,所以当我输入第一个和最后一个并保存它时,计算并保存first_last的值。这就是我现在所拥有的:

#1442 - Can't update table 'test' in stored function/trigger because it is already used by statement which invoked this stored function/trigger.

我得到的错误:

dataTable.rows().nodes().to$().find('input[type="checkbox"]').each(function(){}

1 个答案:

答案 0 :(得分:1)

insert语句和触发器都想修改不允许的整个表。你可以改为做这样的事情:

CREATE TRIGGER update_first_last
BEFORE INSERT
ON test
FOR EACH ROW
SET NEW.first_last=CONCAT(NEW.first, NEW.last)

如果列 first last 未定义为 NOT NULL ,那么您应该为 UPDATE <创建类似的触发器/ em>行动。