错误:创建新表时“(”处或附近的语法错误

Coo*_*ife 2 postgresql

我对 PostgreSQL 非常陌生,每次尝试创建新表时,都会遇到以下错误:

ERROR:  syntax error at or near "(" LINE 1: ..." ("id_azucarusuario" 
   SERIAL, "id_usuario" integer(128) NOT ...
Run Code Online (Sandbox Code Playgroud)

这是我试图定义的表的 SQL:

CREATE TABLE "public"."usuario_azucar" 
( "id_azucarusuario" SERIAL,
  "id_usuario" integer(128) NOT NULL, 
  "codigogeneral" character varying(240) NOT NULL, 
  "razonsocial" character(240), 
  "nombrecomercial" character(240), 
  "nit" integer(128), 
  "nummatricula" integer(128),
  "direccionempresa" character(240), 
  "subdepartamento" character(240),
  "subciudad" character(240), 
  "subdireccion" character varying(240),
  "subcalle" character varying(240), 
  "subreferencia" character varying(240), 
  "subtelefono" integer(128), 
  "subpagweb" character(240),
  "subemail" character varying(240), 
  "rai" character varying(240),
  "descripcion_proceso_azucar" character varying(240),
  "descripcion_proceso_alcohol" character varying(240),
  "balance_energeticoomasic" character varying(240),
  "productos_obtenidos" character varying(240), 
  "capacidad_azuoalco" character varying(240), 
  "capacidadreal_azuoalcoho" character varying(240), 
  PRIMARY KEY ("id_azucarusuario")
) 
WITHOUT OIDS;
Run Code Online (Sandbox Code Playgroud)

Dan*_*ing 5

这里没有类型 as integer(...)、 choicesmallint或给定范围: http integer: //www.postgresql.org/docs/current/interactive/datatype-numeric.htmlbigint

  • 当您这样做时,将所有文本列切换为“文本”。`character(240)` 会用空格将字符串填充到 240 个字符的宽度,这很少有用,而 `charactervaring` 在 Postgres 中没有真正的优势,并且只是一个(通常是任意的)最大长度约束(除非你希望增加对其他 DBMS 的可移植性)。请参阅http://www.postgresql.org/docs/current/interactive/datatype-character.html (5认同)