MySQL NDB事件 – 侦听特定行的更改

我正在使用NDB API中的事件.我想知道是否可以根据特定行监听事件……

例如:

CREATE TABLE mytable( id int(11) NOT NULL AUTO_INCREMENT, 
                      name  varchar(40), 
                      PRIMARY KEY(id) );

INSERT INTO mytable values(NULL,'john');
INSERT INTO mytable values(NULL,'sallie');
INSERT INTO mytable values(NULL,'martin');
INSERT INTO mytable values(NULL,'alex');

所以,现在我们有一个包含两列的表(mytable).我们已经添加了4行.

在我测试NDB API的示例中,我能够判断其中一个名称是否已更改.所以,我们说’john’改为’jim’.在我的代码中,在pollEvents()和getValue()之后,通过查看NdbRecAttr的内容,我能够看到’john’已经更改为’jim’.

但是,有没有办法只监听特定id(行)的更改?

例如,假设我想知道名称’alex'(PK id = 4)何时被更改.

这可能吗?

或者有没有办法告诉哪个特定行已被改变,事后呢?

最佳答案 我能找到实现此目的的唯一方法是使用Event :: addEventColumn()以及您正在侦听事件的列请求主键.然后,您可以根据/那些主键执行自己的过滤

https://dev.mysql.com/doc/ndbapi/en/ndb-event-methods.html#ndb-event-addeventcolumn

点赞