大家。我使用库“github.com/mattn/go-sqlite3”来处理数据库。我需要跟踪对数据库所做的更改,这些更改完成后,执行一些代码。我需要跟踪另一个进程对此数据库所做的更改。例如,有一个 Products 表,其中包含 name 和 id 字段我想在 name 字段更改后收到通知
我怎样才能做到这一点?任何解决方案谢谢
sqlite3conn := []*sqlite3.SQLiteConn{}
sql.Register("sqlite3_with_hook_example",
&sqlite3.SQLiteDriver{
ConnectHook: func(conn *sqlite3.SQLiteConn) error {
sqlite3conn = append(sqlite3conn, conn)
conn.RegisterUpdateHook(func(op int, db string, table string, rowid int64) {
switch op {
case sqlite3.SQLITE_INSERT:
log.Println("Notified of insert on db - ", db, "table:", table, "rowid:", rowid)
}
})
return nil
},
})
此代码仅跟踪 Go 脚本所做的更改,如果我从控制台进行插入,它将不起作用