我正在尝试创建一个通用触发器,用于mysql数据库中的大约20个不同的表。我知道每个触发器中都会有一些特定于表的内容,但我希望将其保持在最低限度。 目前,我正在尝试遍历所有列,但它似乎不可能。是否可以迭代所有列并获得新值?
我在想,比如:NEW [column-name] .. 其中"列名"是information_schema表中select-query的结果。
修改
谢谢! 我被要求添加有关表格的更多信息。 每个表或多或少都是独特的。 可能唯一相同的是列" id",这是一个唯一的row-id。自动递增。 这就是为什么我想动态迭代触发器中的所有列。我知道对于20个表,将有20个触发器,但我想保持每个触发器中唯一参数的数量尽可能低。
所以例如
表1: * id,user_id,value,timestamp 表2: * id,class_id,user_name,value_1,value_2,value_3,time,date
伪代码:
For each row:
For each 'column' in table_columns:
something[column] = NEW[column];
send(something);
send()是我创建的用户定义函数。
谢谢!