1

是否可以在超过限制时截断 varchar 的连接字符串中创建触发器或参数?

我试图在插入/更新之前创建一个触发器,但我继续收到以下异常:

java.io.IOException:java.sql.BatchUpdateException:数据异常:字符串数据,在 org.apache.gora.sql.store.SqlStore.flush(SqlStore.java:340) 在 org.apache.gora.sql 处右截断。 store.SqlStore.close(SqlStore.java:185)

gora 是因为我正在使用 nutch。

谢谢

编辑1:

触发器是: CREATE TRIGGER typeconversionUpdate BEFORE UPDATE ON WEBPAGE REFERENCING NEW AS newrow FOR EACH ROW SET newrow.TEXT=''

和创建语句:

CREATE TABLE WEBPAGE (id VARCHAR(512) PRIMARY KEY,headers BLOB,text VARCHAR(32000),status INTEGER,markers BLOB,parseStatus BLOB,modifiedTime BIGINT,score FLOAT,typ VARCHAR(32),baseUrl VARCHAR(512),content BLOB(65536),title VARCHAR(512),reprUrl VARCHAR(512),fetchInterval INTEGER,prevFetchTime BIGINT,inlinks BLOB,prevSignature BLOB,outlinks BLOB,fetchTime BIGINT,retriesSinceFetch INTEGER,protocolStatus BLOB,signature BLOB,metadata BLOB)
4

1 回答 1

1

一种可能的解决方案是增加相关列的最大大小:

ALTER TABLE WEBPAGE ALTER COLUMN TEXT SET DATA TYPE VARCHAR(1000000)

触发器解决方案不能与 2.2.9 及以下版本的 HSQLDB 一起使用,但可能在下一个版本中允许使用。

于 2012-08-14T19:38:35.387 回答