代码之家  ›  专栏  ›  技术社区  ›  heymando073

为什么在表中插入日期值时会发生这种情况?错误:值太长,无法更改类型字符(30)-PostgreSQL

  •  0
  • heymando073  · 技术社区  · 2 年前

    我试图在表中插入日期类型值。为此,我使用了以下代码行:

    insert into funcionario (primeiro_nome, nome_meio, ultimo_nome, cpf, data_nascimento, endereco, sexo, salario, numero_departamento)
    values ('João', 'B', 'Silva', 12345678966, '19650109', 'R. das Flores, 751, São Paulo, SP', 'M', 30000, 5);
    

    但当我运行脚本时,我得到以下消息:

    ERROR:  value too long for type character varying(30)
    

    数据类型设置为DATE,我也尝试过以各种方式重写它,比如“1965-09-01”、“1965/09/01”、“1965.09.01”等等。我甚至试过使用 to_date()

    我该怎么做才能扭转这种局面?

    1 回复  |  直到 2 年前
        1
  •  0
  •   quarrendon    2 年前

    看起来你的“endereco”最有可能限制在30个字符以内,而你正试图在该列中插入33个字符。

    您可以尝试缩短该文本,看看是否有效。如果是,那么您可能应该重新考虑表中该列的最大大小。