ฉันต้องการทราบว่ามีวิธีสำหรับแบบสอบถาม mysql ในการส่งคืนชื่อผู้ใช้ของผู้ใช้ที่เป็นปัญหาในการสืบค้นหรือไม่
เป็นไปได้หรือไม่
ฉันต้องการทราบว่ามีวิธีสำหรับแบบสอบถาม mysql ในการส่งคืนชื่อผู้ใช้ของผู้ใช้ที่เป็นปัญหาในการสืบค้นหรือไม่
เป็นไปได้หรือไม่
คำตอบ:
ลองใช้CURRENT_USER()
ฟังก์ชัน สิ่งนี้ส่งคืนชื่อผู้ใช้ที่ MySQL ใช้ในการตรวจสอบการเชื่อมต่อไคลเอนต์ของคุณ เป็นชื่อผู้ใช้ที่กำหนดสิทธิ์ของคุณ
ซึ่งอาจแตกต่างจากชื่อผู้ใช้ที่ไคลเอ็นต์ส่งไปยัง MySQL (ตัวอย่างเช่น MySQL อาจใช้บัญชีที่ไม่ระบุชื่อเพื่อรับรองความถูกต้องของไคลเอ็นต์แม้ว่าคุณจะส่งชื่อผู้ใช้) หากคุณต้องการชื่อผู้ใช้ที่ไคลเอนต์ส่งไปยัง MySQL เมื่อเชื่อมต่อให้ใช้USER()
ฟังก์ชันแทน
ค่าระบุชื่อผู้ใช้ที่คุณระบุเมื่อเชื่อมต่อกับเซิร์ฟเวอร์และโฮสต์ไคลเอ็นต์ที่คุณเชื่อมต่อ ค่าอาจแตกต่างจาก CURRENT_USER ()
http://dev.mysql.com/doc/refman/5.0/en/information-functions.html#function_current-user
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'CURRENT_USER()' at line 1
CURRENT_USER()
ไม่ถูกต้องสำหรับคำถาม "มีวิธีทราบ*ชื่อผู้ใช้ปัจจุบันของคุณ *ใน mysql หรือไม่" คำตอบคือ "USER ()" ซึ่ง "ส่งคืนผู้ใช้ MySQL ปัจจุบัน" ( dev.mysql.com/doc/refman/5.7/en/… ) คุณควรปรับปรุงคำตอบของคุณให้สมบูรณ์ยิ่งขึ้น แต่ก็สั้นเกินไป
ลองเรียกใช้อย่างใดอย่างหนึ่ง
SELECT USER();
หรือ
SELECT CURRENT_USER();
บางครั้งอาจแตกต่างออกไปUSER ()จะส่งคืนข้อมูลโดยการเข้าสู่ระบบที่คุณพยายามตรวจสอบสิทธิ์และCURRENT_USER ()จะแสดงวิธีที่คุณได้รับอนุญาตให้ตรวจสอบสิทธิ์จริง
ใช้แบบสอบถามนี้:
SELECT USER();
หรือ
SELECT CURRENT_USER;
คุณสามารถใช้ได้:
SELECT USER();
หรือ
SELECT CURRENT_USER();
ดูเพิ่มเติมที่นี่http://dev.mysql.com/doc/refman/5.0/en/information-functions.html#function_current-user
เพื่อพิมพ์ผู้ใช้ปัจจุบันที่กำลังใช้ฐานข้อมูล
select user();
หรือ
select current_user();
คุณยังสามารถใช้: mysql> เลือกผู้ใช้โฮสต์จาก mysql.user;
+---------------+-------------------------------+
| user | host |
+---------------+-------------------------------+
| fkernel | % |
| nagios | % |
| readonly | % |
| replicant | % |
| reporting | % |
| reporting_ro | % |
| nagios | xx.xx.xx.xx |
| haproxy_root | xx.xx.xx.xx
| root | 127.0.0.1 |
| nagios | localhost |
| root | localhost |
+---------------+-------------------------------+
คุณสามารถค้นหาชื่อผู้ใช้ปัจจุบันด้วยฟังก์ชัน CURRENT_USER () ใน MySQL
สำหรับ Ex:
SELECT CURRENT_USER();
แต่CURRENT_USER()
จะไม่ส่งคืนผู้ใช้ที่เข้าสู่ระบบเสมอไป ดังนั้นในกรณีที่คุณต้องการให้ผู้ใช้เข้าสู่ระบบให้ใช้SESSION_USER()
แทน