首页 > 解决方案 > 创建表时如何解决此 Postgis 错误

问题描述

任何人都可以解释为什么我在 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');

标签: sqlpostgresqlpostgis

解决方案


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

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


推荐阅读