Can only say that I food, found on the internet did not find who explained their four differences, it can only own. The following is a MySQL client to see the help information, directly posted to explain it.
User:returns the current MySQL username and hostname as a string in the UTF8 character set.
System_user:system_user () is a synonym for user ().
Session_user:session_user () is a synonym for user ().
Current_User:
Returns the username and hostname combination for the MySQL account
That's the server used to authenticate the current client. This account
Determines your access privileges. As of MySQL 5.0.10, within a stored
Routine that's defined with the SQL security definer characteristic,
Current_User () returns the creator of the routine. The return value is
A string in the UTF8 character set.
The value of Current_User () can differ from the value of USER ().
Actually want to turn over to put out again, zennai oneself that see no person's English level, do not translate. Overall: User (), system_user (), Session_user (), these three are the same thing (synonym). Then Current_User () is similar to the front three, but occasionally he will be a little different.