Java 如何在属性类型为varchar(254)的数据库中编码长字符串?

Java 如何在属性类型为varchar(254)的数据库中编码长字符串?,java,database,Java,Database,假设由于某种原因,我在数据库中有一个表,它只有varchar(254)属性类型。 换句话说,我不能直接存储超过254个字符的字符串 但是有没有办法解决这个问题,即在给定此约束的情况下,是否可以在DB中编码一个长字符串(例如大约700个字符) 最简单的方法是什么?我使用Java。根据要存储的字符串的性质,可以将其压缩到所需的长度 然而,这是一罐蠕虫。如果我站在你的立场上,我会首先调查是否可以加宽列(在大多数SQL DBMS中,它只需要一个简单的ALTER column命令) 另外,如果您有压缩数据

假设由于某种原因,我在数据库中有一个表,它只有varchar(254)属性类型。 换句话说,我不能直接存储超过254个字符的字符串

但是有没有办法解决这个问题,即在给定此约束的情况下,是否可以在DB中编码一个长字符串(例如大约700个字符)


最简单的方法是什么?我使用Java。

根据要存储的字符串的性质,可以将其压缩到所需的长度

然而,这是一罐蠕虫。如果我站在你的立场上,我会首先调查是否可以加宽列(在大多数SQL DBMS中,它只需要一个简单的
ALTER column
命令)


另外,如果您压缩数据,请查看课程。但是,如果我是你,我会为这一微不足道的模式更改而竭尽全力。

根据要存储的字符串的性质,您可能能够将其压缩到所需的长度

然而,这是一罐蠕虫。如果我站在你的立场上,我会首先调查是否可以加宽列(在大多数SQL DBMS中,它只需要一个简单的
ALTER column
命令)


另外,如果您压缩数据,请查看课程。然而,如果我是你,我会为这一微不足道的模式更改而努力奋斗。

@aix但鉴于我的要求,我不允许以任何方式更改模式(例如,我可以轻松地更改为byte[]并序列化),但我不允许这样做。既然我只能在字符串中工作,那么压缩字符串数据的方法是什么呢?@aix感谢您的更新。这是真的,我应该致力于改变模式,但只是考虑另一种选择:通缩器仍然需要一个字节[],我可以把长字符串缩小成短字符串吗?我同意AIX,你建议的更改是在数据库级别,您在java级别所做的任何事情都可能会在将来的某些情况下失败,并在将来的某个时候卷土重来。。。请DBA进行更改,否则逻辑将失败。@aix请给出一个小示例。API的Deflater.delate仅适用于字节[]输出?如何指定字符串输出?@aix但鉴于我的要求,我不允许以任何方式更改模式(例如,我可以轻松地更改为byte[]并序列化),但我不允许这样做。既然我只能在字符串中工作,那么压缩字符串数据的方法是什么呢?@aix感谢您的更新。这是真的,我应该致力于改变模式,但只是考虑另一种选择:通缩器仍然需要一个字节[],我可以把长字符串缩小成短字符串吗?我同意AIX,你建议的更改是在数据库级别,您在java级别所做的任何事情都可能会在将来的某些情况下失败,并在将来的某个时候卷土重来。。。请DBA进行更改,否则逻辑将失败。@aix请给出一个小示例。API的Deflater.delate仅适用于字节[]输出?如何指定字符串输出?