正如标题所说,我创建了一个表,其中一列是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)
答案 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.