2012-02-01 28 views
5

Tôi mới sử dụng MySQL, vì vậy đây có thể là một câu hỏi ngớ ngẩn, nhưng tôi không tìm thấy câu trả lời cụ thể sau khi googling và đào ở đây trên SO.Nhận gọi ID người dùng (chỉ) từ MySQL

Tất cả những gì tôi đang cố gắng thực hiện là lấy ID người dùng và chỉ ID người dùng, của người dùng gọi trình chèn hoặc cập nhật trên một bảng nhất định. Tôi không yêu cầu bất kỳ sự giúp đỡ nào với một kích hoạt trong câu hỏi này, vì vậy đừng lo lắng về điều đó.

SELECT user() 

Cung cấp: [email protected][IP Address]

SELECT current_user() 

Cung cấp: [email protected]%

vấn đề nhỏ: Tôi chỉ muốn user

Câu hỏi của tôi:

Tôi có đi sai đường không?

Có cách nào sạch hơn hoặc dễ đọc hơn để có được chỉ user thay vì phải sử dụng một cái gì đó như substr(user(),1,instr(user(),'@')-1)? Tôi đã viết một số kích hoạt trong Oracle, nơi tôi chỉ có thể sử dụng giá trị USER cho những gì tôi cần.

Cảm ơn trước

+3

Một người sử dụng mysql thực sự là những gì bạn đang nhận được - nó luôn luôn là một hỗn hợp của người sử dụng @host. 'user @ example.com' là một tài khoản hoàn toàn khác với' user @% ', mặc dù phần' user' là hằng số. –

Trả lời

4

trang Manual says:

SELECT SUBSTRING_INDEX(USER(),'@',1); 
+0

Thật ngạc nhiên là tôi có thể tìm kiếm bao nhiêu, nhưng lại bỏ lỡ điều gì đó tương tự. Đó là khá nhiều những gì tôi cần, cảm ơn! – Dan

+0

@Niloct, đánh bại tôi với nó =) –

+0

Bạn đang chào đón @Dan! @Ben, nó đã bốc đồng: D – Niloct

Các vấn đề liên quan