一、问题
插入数据保存到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…

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐