Data truncation: Out of range value for column ‘id‘ at row 1

一、问题

插入数据保存到mysql中时,

log:

Preparing: INSERT INTO user ( id, name, age, email, create_time, update_time, version ) VALUES ( ?, ?, ?, ?, ?, ?, ? )

==> Parameters: 1628736816360296450(Long), 岳不群1(String), 70(Integer), lucy@qq.com(String), 2023-02-23 20:41:32.144(Timestamp), 2023-02-23 20:41:32.144(Timestamp), 1(Integer)

错误提示:Data truncation: Out of range value for column ‘id‘ at row 1

二、原因

@TableId(type = IdType.ID_WORKER) //mp自带策略,生成19位值,数字类型使用这种策略,比如long
//@TableId(type = IdType.ID_WORKER_STR) //mp自带策略,生成19位值,字符串类型使用这种策略
    private Long id;

19位数字超过int, long数据类型,改成bigint类型

或者使用自增策略,

@TableId(type=IdType.AUTO)

或者去掉tableId,自己设置id…