%SQLITE_CREATE_INDEX = 1 ' /* Index Name Table Name */
%SQLITE_CREATE_TABLE = 2 ' /* Table Name NULL */
%SQLITE_CREATE_TEMP_INDEX = 3 ' /* Index Name Table Name */
%SQLITE_CREATE_TEMP_TABLE = 4 ' /* Table Name NULL */
%SQLITE_CREATE_TEMP_TRIGGER = 5 ' /* Trigger Name Table Name */
%SQLITE_CREATE_TEMP_VIEW = 6 ' /* View Name NULL */
%SQLITE_CREATE_TRIGGER = 7 ' /* Trigger Name Table Name */
%SQLITE_CREATE_VIEW = 8 ' /* View Name NULL */
%SQLITE_DELETE = 9 ' /* Table Name NULL */
%SQLITE_DROP_INDEX = 10 ' /* Index Name Table Name */
%SQLITE_DROP_TABLE = 11 ' /* Table Name NULL */
%SQLITE_DROP_TEMP_INDEX = 12 ' /* Index Name Table Name */
%SQLITE_DROP_TEMP_TABLE = 13 ' /* Table Name NULL */
%SQLITE_DROP_TEMP_TRIGGER = 14 ' /* Trigger Name Table Name */
%SQLITE_DROP_TEMP_VIEW = 15 ' /* View Name NULL */
%SQLITE_DROP_TRIGGER = 16 ' /* Trigger Name Table Name */
%SQLITE_DROP_VIEW = 17 ' /* View Name NULL */
%SQLITE_INSERT = 18 ' /* Table Name NULL */
%SQLITE_PRAGMA = 19 ' /* Pragma Name 1st arg or NULL */
%SQLITE_READ = 20 ' /* Table Name Column Name */
%SQLITE_SELECT = 21 ' /* NULL NULL */
%SQLITE_TRANSACTION = 22 ' /* NULL NULL */
%SQLITE_UPDATE = 23 ' /* Table Name Column Name */
%SQLITE_ATTACH = 24 ' /* Filename NULL */
%SQLITE_DETACH = 25 ' /* Database Name NULL */
%SQLITE_ALTER_TABLE = 26 ' /* Database Name Table Name */
%SQLITE_REINDEX = 27 ' /* Index Name NULL */
%SQLITE_ANALYZE = 28 ' /* Table Name NULL */
%SQLITE_CREATE_VTABLE = 29 ' /* Table Name Module Name */
%SQLITE_DROP_VTABLE = 30 ' /* Table Name Module Name */
%SQLITE_FUNCTION = 31 ' /* Function Name NULL */
%SQLITE_COPY = 0 ' /* No longer used */
sqlite3_set_authorizer函数注册一个调用以授权某些SQL语句操作的回调函数。回调的第二个参数是一个整数代码,指定正在授权的操作。这些是授权者回调可以传递的整数操作代码。
这些动作代码值表示要授权哪种操作。授权回调函数的第3和第4个参数将是参数或NULL,具体取决于使用哪些代码作为第二个参数。授权器回调的第五个参数是数据库的名称(“main”,“temp”等)(如果适用)。授权器回调的第6个参数是负责访问尝试的最内部触发器或视图的名称,如果此访问尝试直接来自顶级SQL代码,则为NULL。