我是靠谱客的博主 无辜导师,最近开发中收集的这篇文章主要介绍mysql bigint的数字只能是大于等于0的数,否则sql执行报错,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

2021-12-30 星期四 0913 by:enAn
mysql bigint的数字,更新,只能是字段>=0的正数,否则sql执行报错
如:库存或者积分数据,前提,不能需要项目设定,不能是负数

只需要把字段的属性,最下面的注释那块,勾选-无符号[unsigned ]
手动-打开表设置,字段A修改后的属性

`current_points_value` bigint(19) unsigned DEFAULT '0' COMMENT '当前可用会员积分',

执行验证sql

#第一种注释写法(单行注释)
/*第二种注释写法(适合多行注释)*/
-- 第三种注释写法(--之后需要加一个空格)

SELECT * from test_bigint;

/* 更新到10位数字 */
update test_bigint t set t.point = 98765432101234 WHERE t.id = 1002;

-- 再次查询-更新的结果
SELECT * from test_bigint t WHERE t.id = 1002;

# 更新,字段 > 0
update test_bigint t set t.point = 98765432101234 WHERE t.id = 1001;

# 更新, 字段 = 0
update test_bigint t set t.point = 0 WHERE t.id = 1001;

# 更新,字段 < 0 【[Err] 1264 - Out of range value for column 'point' at row 1】
update test_bigint t set t.point = -1 WHERE t.id = 1001;

初始化脚本

-- 如果存在,则删除掉
drop table if exists.test_bigint;
-- 创建
create table.test_bigint(
id bigint(20) PRIMARY key NOT NULL COMMENT '显示20的位数',
name VARCHAR(100) not null COMMENT '名字',
point bigint(20) unsigned null COMMENT '积分-正整数,unsigned',
created_time datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
updated_time datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间-自动更新'
)comment '测试-正整数-更新为小于0的数,sql报错';

INSERT into.test_bigint(id,name,point,created_time,updated_time)
VALUES(1001,'张三',100,CURRENT_TIMESTAMP,CURRENT_TIMESTAMP);

INSERT into.test_bigint(id,name,point,created_time,updated_time)
VALUES(1002,'李四',200,CURRENT_TIMESTAMP,CURRENT_TIMESTAMP);

INSERT into.test_bigint(id,name,point,created_time,updated_time)
VALUES(1003,'王五',300,CURRENT_TIMESTAMP,CURRENT_TIMESTAMP);

最后

以上就是无辜导师为你收集整理的mysql bigint的数字只能是大于等于0的数,否则sql执行报错的全部内容,希望文章能够帮你解决mysql bigint的数字只能是大于等于0的数,否则sql执行报错所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(46)

评论列表共有 0 条评论

立即
投稿
返回
顶部