仅在MySQL中从用户名中提取用户ID?

要仅从MySQL中提取用户ID,可以使用SUBSTRING_INDEX(),后者从用户名中提取字符串的一部分以获取用户ID。 

让我们首先显示用户-

mysql> SELECT USER();

这将产生以下输出-

+----------------+
| USER()         |
+----------------+
| root@localhost |
+----------------+
1 row in set (0.00 sec)

现在让我们仅提取UserID-

mysql> SELECT SUBSTRING_INDEX(USER(),'@',1);

这将产生以下输出-

+-------------------------------+
| SUBSTRING_INDEX(USER(),'@',1) |
+-------------------------------+
| root                          |
+-------------------------------+
1 row in set (0.00 sec)

另外,如果您想要主机名,则可以使用以下查询-

mysql> SELECT SUBSTRING_INDEX(USER(),'@',-1);

这将产生以下输出-

+--------------------------------+
| SUBSTRING_INDEX(USER(),'@',-1) |
+--------------------------------+
| localhost                      |
+--------------------------------+
1 row in set (0.00 sec)