将SQL列类型设置为varchar(50),只接受整数

时间:2013-05-31 19:22:16

标签: mysql sql database varchar

正如标题所说,我创建了一个表,其中一列是varchar(50)类型,但它拒绝INSERT语句,其中第一个值是字符串:

表格创建:

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)

1 个答案:

答案 0 :(得分: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.