2011-05-28 94 views
0

我的數據庫表有列電子郵件,用戶名和密碼。我試圖將這些測試值插入到它們中,但查詢似乎是以一種奇怪的方式解釋測試電子郵件的值。 這個查詢有什麼問題?MySQL「未知列」

mysql> INSERT INTO `tbl_user` 
    -> (`email`, `username`, `password`) 
    -> VALUES 
    -> (`[email protected]`, `Test_User_One`, MD5(`test1`)), 
    -> (`[email protected]`, `Test_User_Two`, MD5(`test2`)) 
    -> ; 
ERROR 1054 (42S22): Unknown column '[email protected]' in 'field list' 

回答

5

嘗試使用單引號,而不是反引號輪值,即

mysql> INSERT INTO `tbl_user` 
-> (`email`, `username`, `password`) 
-> VALUES 
-> ('[email protected]', 'Test_User_One', MD5('test1')), 
-> ('[email protected]', 'Test_User_Two', MD5('test2')) 
-> ; 

反引號來表示列名,而單(或雙)引號將被用作一個值。

1

您使用的值是錯誤的引號。使用簡單引號'來表示char值。

0

反引號分隔字段名稱(數據庫名稱,表名稱或列名稱)。

使用單或雙引號來分隔字符串:

INSERT INTO `tbl_user` (`email`, `username`, `password`) 
    VALUES ("[email protected]", "Test_User_One", MD5("test1")), 
      ("[email protected]", "Test_User_Two", MD5("test2"));