📅  最后修改于: 2023-12-03 15:33:02.253000             🧑  作者: Mango
CONNECTION_ID()
函数用来返回当前连接的(会话的)标识符。这个标识符对于每个新的连接都是唯一的,并且在连接关闭后会释放。
CONNECTION_ID( )
CONNECTION_ID()
函数返回值类型是整数,表示当前连接的标识符。
当我们需要在存储过程中获取当前连接的标识符时,可以使用CONNECTION_ID()
函数来实现:
CREATE PROCEDURE `my_proc`()
BEGIN
DECLARE conn_id INT DEFAULT CONNECTION_ID();
SELECT conn_id;
END;
当我们开启了MySQL的查询日志功能时,可以记录每个查询的详细信息,包括执行的时间、用户、HOST和SQL语句等等。如果我们需要记录每个查询对应的连接标识符,就可以使用CONNECTION_ID()
函数来获取。
例如,我们可以在my.cnf
配置文件中添加以下内容,开启查询日志功能:
log-output=FILE
general-log=1
general_log_file=/var/log/mysql/mysql_query.log
然后在查询日志中,可以看到记录了每个SQL执行时的连接标识符:
1669 Query SELECT * FROM my_table;
1669 Quit
CONNECTION_ID()
函数只能用于当前的连接,不能用于其他连接;CONNECTION_ID()
函数返回的标识符在连接关闭后会被释放,不能用于后续的连接;CONNECTION_ID()
函数不能作为参数传递给其他函数或者存储过程,只能用于查询和变量赋值等场景。CONNECTION_ID()
函数是MySQL内置的函数之一,用于获取当前连接的(会话的)标识符。我们可以在存储过程、查询日志等场景中使用,以满足不同的需求。