尝试使用postgres插入表时出现语法错误

时间:2018-07-31 21:00:30

标签: sql postgresql syntax-error

这是我的桌子的链接:

http://www.sqlfiddle.com/#!17/07f75

这是我的代码,但是出现语法错误。我已经玩了几件事,例如在varchar数据类型周围添加了'',甚至更改了文本,但当前遇到此错误:ERROR: syntax error at or near "moon’" Position: 76

自从我更改了文本以及位置以来,语法错误已经更改,但是错误的类型保持不变。我以为我知道如何将数据插入表中,但是我很茫然!

CREATE TABLE spacecrafts (
    id integer, 
    name varchar(15),   
    launched integer, 
    country varchar(10),
    mission text, 
    orbitingbody varchar(10), 
    operating varchar(1), 
    milesfromearth integer
); 

INSERT INTO spacecrafts
    VALUES 
    (1, ‘rocketeer1’, 2018, ‘USA’, ‘reach moon’, ‘mars’, ‘y’, 100000),
    (2, ‘rocketer2’, 2015, ‘Brazil’, ‘reach moon’, ‘Jupiter’, ’n’, 303230),
    (3, ‘rocketship’, 2014, ‘Germany’, ‘reach Jupiter’, ’n’, 67939380); 

2 个答案:

答案 0 :(得分:1)

如果要插入字符串数据,请使用'代替

CREATE TABLE spacecrafts (
    id integer, 
    name varchar(15),   
    launched integer, 
    country varchar(10),
    mission text, 
    orbitingbody varchar(10), 
    operating varchar(1), 
    milesfromearth integer
); 

INSERT INTO spacecrafts VALUES  
    (1, 'rocketeer1', 2018, 'USA', 'reach moon', 'mars', 'y', 100000),
    (2, 'rocketer2', 2015, 'Brazil', 'reach moon', 'Jupiter', 'n', 303230),
    (3, 'rocketship', 2014, 'Germany', 'reach Jupiter','test', 'n', 67939380); 

sqlfiddle

答案 1 :(得分:1)

您有几个错误。我将您的刻度线'(左上角的键)更改为引号'(输入旁的键)。这些有时会通过剪切和粘贴进行更改,因此您可能没有直接这样做。

另一个变化是您的第三个条目没有轨道物体条目。

INSERT INTO spacecrafts 
VALUES (1, 'test', 2018, 'usa', 'reach moon', 'mars', 'y', 100000),
(2, 'rocketer2', 2015, 'Brazil', 'reach moon', 'Jupiter', 'n', 303230),
(3, 'rocketship', 2014, 'Germany', 'reach Jupiter', 'Venus', 'n', 67939380);

注意,我在第三项中添加了“维纳斯”。