概述
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执行报错所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复