2013-05-31 87 views
0

正如標題所說,我創建了一個表其中一列是類型varchar(50),但它拒絕INSERT語句,其中第一個值是字符串:將SQL列類型設置爲varchar(50),只接受整數

創建表:

CREATE TABLE Fiddy(Lname varchar(50), 
-> Height int, 
-> Width int, 
-> Gas int); 

插入嘗試

insert into Fiddy VALUES(Smith, 54, 43, 1); 
ERROR 1054 (42S22): Unknown column 'Smith' in 'field list' 

插入嘗試

insert into Fiddy values (4, 5, 5, 6); 
Query OK, 1 row affected (0.00 sec) 

選擇*

select * from Fiddy; 
+-------+--------+-------+------+ 
| Lname | Height | Width | Gas | 
+-------+--------+-------+------+ 
| 4  |  5 |  5 | 6 | 
+-------+--------+-------+------+ 
1 row in set (0.00 sec) 
+0

提示:* *值永遠不會用作表/列*標識符在SQL語法*。插入整數是因爲1)整數是/表示*值*; 2)根據需要強制整數。 – user2246674

回答

9

基本的MySQL。字符串必須用單引號括起來。否則,假定你指的是一個列名。

insert into Fiddy VALUES(Smith, 54, 43, 1); -- The column "Smith" is assumed. 

應該

insert into Fiddy VALUES('Smith', 54, 43, 1); -- The string "Smith" is used. 
+0

+1,打我吧! – sgeddes

+0

哇。今天不是我清醒的一天。謝謝。 – Bennett

+0

@詹姆斯羅伯茨。 。 。這似乎是正確的答案。你應該接受它。 –

相關問題