2013-08-23 109 views
1

我不知道什麼是錯的,爲什麼我的語句不會插入。我有以下數據:phpmyadmin mysql INSERT語句語法錯誤

username varchar length (25) 
password varchar length (25) 
fname varchar length (25) 
email text 
contactnum big int (30) 

我不知道爲什麼我的電子郵件沒有與我contactnum 這裏將沿年代截圖: enter image description here

根據我瞭解的長度是多少數據中的字符可以輸入正確嗎?

我的查詢似乎有什麼錯?

回答

0

您插入到電子郵件提交的字符串值需要引用。另外,表格和列的名稱不應該引用。查詢應該是這樣的:

INSERT INTO members (username, password, fname, email, contactnum) 
VALUES (2, 2, 2, '[email protected]', 1) 

需要注意的是你改變了前三個字段被聲明爲varchar,所以你應該將字符串到他們。您嘗試將整數插入到varchar字段時沒有收到錯誤的原因是,在某些情況下,可能會自動轉換錯誤的數據類型。我認爲這是更好的做法,不依賴於隱式類型轉換,以避免錯誤和意外結果,所以查詢確實應該這樣寫:

INSERT INTO members (username, password, fname, email, contactnum) 
VALUES ('2', '2', '2', '[email protected]', 1) 

這是見仁見智的問題,但。他們都工作。

+0

謝謝:)是嗎?關於長度值,是可以輸入的字符數(數字)?例如int年齡值(2),您只能輸入兩位數字,如11,輸入111會給錯誤? – Daryl

+0

@Daryl正確,長度是字段中允許的最大字符數。 –

+0

MySQL中沒有nvarchar,你可以在任何varchar字段上定義字符集... –

1
INSERT INTO members (username, password, fname, email, contactnum) 
VALUES (2, 2, 2, '[email protected]', 1) 

如果字符串不要忘了使用單引號