在 mysql 中,我可以使用以下命令检查当前的连接 ID:
SELECT connection_id();
它返回 id:
# connection_id()
'6558851'
或者:
SELECT * from information_schema.processlist
WHERE id = connection_id();
# ID, USER, HOST, DB, COMMAND, TIME, STATE, INFO
'6558851', 'abc', '99-51-01-something:55353', 'XA', 'Query', '0', 'executing', 'select * from information_schema.processlist plist where id=connection_id()'
但是该函数在哪里定义(如果它是函数?)?我已签入sys
,information_schema
但无法找到使用该名称定义的函数。那么这个位置在哪里呢?
更新,再回顾一下,似乎这些只是mysql 数据库的内置函数——即,与使用 a 或任何其他函数没有什么不同GROUP_CONCAT()
,例如:
SELECT connection_id(), now(), id, email FROM auth_user limit 10;
这样,它将在 C++ 代码中定义,而不是作为用户/系统定义的函数。这是正确的理解吗?
CONNECTION_ID()
是在 MySQL 中编译的内置函数,因此它不包含在数据库中。所以是的,你的理解是正确的。
为避免混淆,我想指定:
这是您在其中看到的线程 _id
SHOW Prpcesslist
https://dev.mysql.com/doc/refman/8.0/en/performance-schema-processlist-table.html