【问题标题】:How do i solve this Postgis error when creating a table创建表时如何解决此 Postgis 错误
【发布时间】:2021-11-03 12:46:58
【问题描述】:

任何人都可以解释为什么我在 postgis 中遇到此错误,第一次使用。

试图创建一个仓库的表,只是在里面扔了一些随机字符。

完整的错误代码是:

错误:“Warehouse_id”或附近的语法错误第 3 行:Warehouse_id VARCHAR(100), ^ SQL 状态:42601 字符:58

这是我的数据:

CREATE TABLE Warehouse (
Warehouse_location  VARCHAR(25)
Warehouse_id  VARCHAR(100),
Warehouse_managers  VARCHAR(25)
Warehouse_address  VARCHAR(25)
Warehouse_capacity  VARCHAR(50),
Warehouse_occupied  VARCHAR(50),
Warehouse_loading bays VARCHAR(50),
Warehouse_accesspoints VARCHAR(50),
);
INSERT INTO Warehouse Values('Vic','1235','John', '12 Sidney St','500','230','10','5');
INSERT INTO Warehouse Values('Vic','1236','Drake', '156 Can Rd','400','250','10','6');
INSERT INTO Warehouse Values('Nsw','1237','Dave', '120 Toast Ave','400','240','9','5');
INSERT INTO Warehouse Values('Vic','1238','Daniel', '99 Foot St','550','255','10','5');
INSERT INTO Warehouse Values('Nsw','1434','Chirs', '21 Jump St','500','270','9','6');
INSERT INTO Warehouse Values('Nsw','1734','Liam', '1 Bishop St','500','150','6','5');
INSERT INTO Warehouse Values('Vic','7234','Steve', '12 Bewick Grove ','440','250','3','5');
INSERT INTO Warehouse Values('Vic','8234','Bob', '23 Rannoch Wood Rd','440','250','11','5');
INSERT INTO Warehouse Values('Vic','1224','Kim', '390 Park Ave','550','250','9','6');
INSERT INTO Warehouse Values('SA','4234','Alex', '2 Grange Dr','550','250','10','5');
INSERT INTO Warehouse Values('SA','1734','Ryan', '12 Food St','500','350','10','5');

【问题讨论】:

  • 你少了一个逗号?
  • 确实如此。只是在第 2 行末尾缺少一个逗号,在 VARCHAR(25)Warehouse_id 之间
  • 好的,谢谢知道一些简单的遗漏
  • 现在只是吐出 ERROR: syntax error at or near ")" LINE 10: ); ^ 在括号里?

标签: sql postgresql postgis


【解决方案1】:

您缺少几个逗号,并且有一个带有空格的列名。要么用双引号 " 包裹它,要么去掉它,例如使用_(恕我直言更优雅):

CREATE TABLE Warehouse 
( Warehouse_location VARCHAR(25), 
  Warehouse_id VARCHAR(100), 
  Warehouse_managers VARCHAR(25), 
  Warehouse_address VARCHAR(25),
  Warehouse_capacity VARCHAR(50), 
  Warehouse_occupied VARCHAR(50), 
  "Warehouse_loading bays" VARCHAR(50), -- consider using Warehouse_loading_bays instead
  Warehouse_accesspoints VARCHAR(50)
); 

 INSERT INTO Warehouse Values('Vic','1235','John', '12 Sidney St','500','230','10','5'); 
 INSERT INTO Warehouse Values('Vic','1236','Drake', '156 Can Rd','400','250','10','6'); 
 INSERT INTO Warehouse Values('Nsw','1237','Dave', '120 Toast Ave','400','240','9','5'); 
 INSERT INTO Warehouse Values('Vic','1238','Daniel', '99 Foot St','550','255','10','5'); 
 INSERT INTO Warehouse Values('Nsw','1434','Chirs', '21 Jump St','500','270','9','6'); 
 INSERT INTO Warehouse Values('Nsw','1734','Liam', '1 Bishop St','500','150','6','5'); 
 INSERT INTO Warehouse Values('Vic','7234','Steve', '12 Bewick Grove ','440','250','3','5'); 
 INSERT INTO Warehouse Values('Vic','8234','Bob', '23 Rannoch Wood Rd','440','250','11','5'); 
 INSERT INTO Warehouse Values('Vic','1224','Kim', '390 Park Ave','550','250','9','6'); 
 INSERT INTO Warehouse Values('SA','4234','Alex', '2 Grange Dr','550','250','10','5'); 
 INSERT INTO Warehouse Values('SA','1734','Ryan', '12 Food St','500','350','10','5');

演示:db<>fiddle

【讨论】:

    猜你喜欢
    • 2019-10-26
    • 1970-01-01
    • 1970-01-01
    • 2021-12-03
    • 1970-01-01
    • 2022-08-02
    • 1970-01-01
    • 2017-02-26
    • 1970-01-01
    相关资源
    最近更新 更多