Mysql查询在插入时截断数据

时间:2012-04-02 03:32:51

标签: java mysql sql

我创建了一个这样的表:

create table tbl(
address varchar(5000));

如果我想将数据插入字段地址,如果插入的数据长度超过字段地址的长度。然后首先截断数据并将其插入地址。 请给我正确的查询以解决上述问题......

2 个答案:

答案 0 :(得分:2)

你的插入/更新查询应该调用方法truncate,如下所示:

public static String truncate(String value, int length)
{
  if (value != null && value.length() > length)
    value = value.substring(0, length);
  return value;
}

希望这有帮助。

答案 1 :(得分:1)

我已经在我的mysql(5.5.8)上测试过,按如下方式创建表:

create table test ( a varchar(10) );

然后插入

insert into test(a) values('1234567890112');

然后选择

select * from test;

给了我1234567890

我认为mysql会自动截断你传入该字段的更大的内容,所以你不必担心,除非你每次发生时都需要在应用程序级别记录它