假设我有两个表A和B。表B有一个外键,它引用表A的主键。并且外键具有'on delete级联‘约束。
我还使用Java和JDBC来访问这个数据库。
如何知道表B中受delete级联约束影响的行数?我必须在Java应用程序中得到号码。连接对象或某物是否有返回它的参数或方法?
发布于 2016-01-26 02:01:59
若要在DELETE语句之后,您可以使用审核表,然后再使用DELETE触发器。
// change type of deleted_id to your primary key's type.
create table deleted_audit ( deleted_id BIGINT, dt TIMESTAMP, count INT );
DELIMITER $$
CREATE TRIGGER count_deleted BEFORE delete ON a
FOR EACH ROW
BEGIN
DECLARE count_items INT;
SELECT count(*) FROM b WHERE a_id=OLD.id INTO count_items;
INSERT INTO deleted_audit VALUES( OLD.id, NOW(), count_items);
END; $$
DELIMITER ;
https://stackoverflow.com/questions/35010473
复制相似问题