1

大家。我使用库“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 脚本所做的更改,如果我从控制台进行插入,它将不起作用

4

0 回答 0