为什么H2数据库在我的值之前附加前缀

问题描述 投票:0回答:1

我在H2数据库中有一个表。 在此表中有2列如下:

CREATE TABLE mytable (id bigserial NOT NULL,lffo_file text);

id | value -------------- 我执行这个查询:

 INSERT INTO mytable (value , id) VALUES ( '/resource/public/1555687199892.js','1555684557909')

之后,当我执行此查询时:

select * from my table

它告诉我:

id              |      value
-----------------------------------------
1555684557909   |  clob4: '/resource/public/1555687199892.js'

为什么H2会附加这个前缀<< clob4:>>?

(我只知道,clob是巨大varchar的数据类型)

sql insert h2 h2db
1个回答
0
投票

过了一会儿

H2数据库自动将Text视为clob数据类型 当您使用文本列创建表时,它已更改为clob

然后: 当您插入文本值时,它会保留像KVP格式的文本: 假设您在值列中插入了'Alex'然后'Beti'

所以它坚持如下:

value clob0 : 'Alex' clob1 : 'Beti'

正如你在kvp中看到的那样,关键是'clobe'+ counter

所以我将文本类型更改为varchar(没有大小)并依赖于postgresql文档,varchar和文本性能之间没有区别

所有这一切都是我所看到的,如果有更好的答案请分享,谢谢

© www.soinside.com 2019 - 2024. All rights reserved.