逸个散人 2024-10-12 23:10 采纳率: 0%
浏览 24

Mysql 前边0数据消失问题

Mysql中前边有0的数据,0会被舍去的问题,怎么解决啊

img


只能改数据类型int变char啊?能不能用int啊?目前就只有:https://blog.csdn.net/likunlun1234/article/details/41045299

  • 写回答

1条回答 默认 最新

  • 香格里辣 2024-10-12 23:11
    关注

    以下回复参考:皆我百晓生券券喵儿等免费微信小程序作答:

    在MySQL中,整数类型的字段(如INT)不会自动保存前导零。因此,当你插入一个值如0433,它只会保存为433。这是正常的行为。如果你需要保存前导零,你应该使用字符串类型(如CHAR或VARCHAR)来存储这些数字。

    但是,如果你仍然想使用整数类型并保留前导零,你可以在应用层处理这个问题,即在插入数据到数据库之前,在应用程序代码中添加前导零。或者在查询数据时,使用格式化字符串来显示前导零。

    对于你提供的例子,你可以将sno字段的类型改为CHARVARCHAR来保存前导零。例如:

    CREATE TABLE student(
        sno CHAR(10),  -- 使用CHAR或VARCHAR类型
        sname VARCHAR(100),
        sex VARCHAR(100),
        birth DATE,
        major VARCHAR(100),
        dept VARCHAR(100),
        tel VARCHAR(100)
    );
    

    然后插入数据时,确保前导零被保留:

    INSERT INTO student(sno, sname, sex, birth, major, dept)
    VALUES('0433', '张艳', '女', '2002-9-13', '计算机', '信息学院');
    

    当你查询数据时,你将看到前导零被保留。不过要注意,当你在查询时进行数值计算时,前导零将被忽略。所以,根据你的具体需求来决定是否使用字符串类型来存储这些数字。

    评论

报告相同问题?

问题事件

  • 创建了问题 10月12日