2013-10-21 102 views
0

我似乎無法讓我的SELECT語句正常工作。mysql select語句不起作用

這是表:

CREATE TABLE clients(
    user_id MEDIUMINT UNSIGNED NOT NULL AUTO_INCREMENT, 
    email VARCHAR (70) NOT NULL, 
    mobile_number int(11) NOT NULL, 
    UNIQUE KEY (email) 
); 

SELECT查詢

SELECT user_id FROM clients WHERE email='[email protected]'; 

每當我試着使用SELECT語句從中mysqladmin返回null;即使輸入我知道的電子郵件地址在數據庫中,也會發生這種情況。

我真的很感謝一些關於我哪裏出錯的建議。

+0

你可能有空的空間在該字符串,儘量TRIM列。 – Mihai

+0

「*返回null *」是什麼意思?它是否返回一個(或多個)具有空值的記錄,還是沒有返回記錄? – eggyal

+0

你有沒有試過選擇一切'*'來看看你回來? – Paddyd

回答

3

嘗試沒有「WHERE」子句的語句。如果它返回整個表格,則將其縮小爲「email」字符串中的錯誤。

如果它什麼也沒有返回,並且您知道此表中有數據,請檢查您的連接字符串並確保您使用的是正確的數據庫。

+0

儘管有幫助,但這並不試圖回答這個問題。它提供了一種排除故障的方法,但沒有具體的答案。 – showdev

+0

你好smidy。我嘗試了你的建議,它確實返回了整個表格。這意味着電子郵件字符串中存在問題。然而,當我也嘗試相同的SELECT查詢來檢查一個理想的手機號碼,它也返回'沒有找到記錄'。所以,在某個地方肯定是一個嚴重的問題 – andreea115

0

我認爲你的SQL創建語句有一些錯誤。您應該使用您應用自動增量的唯一鍵。在這種情況下,數據庫將發生錯誤。

請嘗試以下方法創建語句

CREATE TABLE clients(
user_id MEDIUMINT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY, 
email VARCHAR (70) NOT NULL, 
mobile_number int(11) NOT NULL 
);