2016-09-27 112 views
0

我在命令行中练习mysql。我有一个数据库名为ticket_system这反过来有一个表名为列车输入字符串表示未知列

create table ticket_system.Train 
(
    Train_no   int(10) PRIMARY KEY, 
    Name    varchar(10), 
    source    varchar(10), 
    destination   varchar(10), 
    start_time   TIME, 
    reach_time   TIME, 
    traveltime   int(10), 
    distance   int(10), 
    class    int(10), 
    days    int(10), 
    type    varchar(10) 
    ); 

这就是我用来做一个表及其列,其工作的罚款。但现在当我在表格列中插入数据时。在 '字段列表'

我不明白为什么这个错误是未知列 '王侯':

INSERT INTO ticket_system.Train (Train_no, Name, source, destination, start_time, reach_time, traveltime, distance, class, days, type) values(1, ‘raja’, ‘delhi’ , ‘patna’ , ’120000’ , ’130000’ , 1 , 100 , 1 , 1, ‘2nd’); 

我收到错误

ERROR 1054(42S22)。字段名称数据类型设置为varchar(10),并且“raja”应该适合该数据类型。有人能指出我在哪里做错了吗?

+0

使用引号不是反引号的字符串文字,“没有' – Mihai

+0

你应该用文本编辑器,而不是一个字处理器程序。不同的引号通常有不同的含义。 –

+0

@Mihai我只用过单引号。我很惊讶地发现它已经变成了反斜杠,我没有在我的文本编辑器中输入 – shashank

回答

0

您需要用单引号'来包装字符串(text,varchar,char)数据类型的列。

INSERT INTO ticket_system.Train 
    (Train_no, Name, source, destination, start_time, reach_time, traveltime, distance, class, days, type) 
values 
    (1, 'raja', 'delhi' , 'patna' , '120000' , '130000' , 1 , 100 , 1 , 1, '2nd'); 
+0

我用单引号,但我不知道如何在Mac的默认文本编辑器中将其转换为反引号。当我用崇高的语言重写它时,它就起作用了。感谢您的帮助 – shashank