Navicat Premium 12 工具创建postgresql表可能会出现的坑

创建一张表,其中upstream 字段类型为jsonb,使用工具Navicat创建如下:

insert语句如下:

insert into  port_forward(listen,upstream,create_date,update_date) values('123','{"a":"a"}'::jsonb,now(),now());

报错如下:

ERROR:  malformed array literal: "{"a":"a"}"

语句是正确的,后来手写sql建表却没问题!

导出工具建表的sql,如下:

发现工具建表默认是json[]类型,原因在此。类型不是我们想要的类型,所以在工具建表的时候,还是要注意下,很多时候还是手写sql bug会更少!

手写的sql如下:

CREATE TABLE port_forward (
    id serial NOT NULL,
    listen varchar(255) not null,
    upstream jsonb not null,
    listen_protocal varchar(255)  null,
    proxy_connect_timeout varchar(255) null,
    proxy_timeout varchar(255) null,
    create_date timestamp(6) not null,
    update_date timestamp(6) null,
    remark varchar(255) null ,
    constraint PK_port_forward primary key (id)
);
发布了55 篇原创文章 · 获赞 17 · 访问量 8万+

猜你喜欢

转载自blog.csdn.net/XuHang666/article/details/87968375