精华内容
下载资源
问答
  • 在上一篇原创文章MySQL一个表的自增id用完了,背井大佬让我用这些姿势再往里插数据,最后留下了一个问题,大家知不知道int(1)和int(11)有什么区别,没有小伙伴...看过上篇文章你一定知道了字段后面的unsigned是什么...

    在上一篇原创文章MySQL一个表的自增id用完了,背井大佬让我用这些姿势再往里插数据,最后留下了一个问题,大家知不知道int(1)和int(11)有什么区别,没有小伙伴互动回答,只有一位老哥让我说一下什么区别,我说上周安排,这不就打脸了,如果这位老哥能看到的话,说声抱歉,然后今天特地用这篇文章来回答这个问题。我相信一定会对有些小伙伴有所帮助。看过上篇文章你一定知道了字段后面的unsigned是什么意思,其实就是很简单的基础,但是我见过有很多5年以上的开发人员不知道unsigned作用是什么。包括今天要讲的zerofill,不知道的人就更多了,我们太习惯舒适了,我们总是自嘲自己是CRUD程序员,可这种自嘲更多的是群嗨,有几个真正戳痛过自己。好了,点到为止,只是希望我们不要停止学习,不要埋葬探索的欲望。回到正题,你在建字段id时,选择了int类型之后,后面的长度你习惯性的填上10或者11,你又建了一个type字段,选择了int之后,你又习惯性的在长度上填了1,很佩服大家如此的统一有默契。问其缘由,id自增长啊,肯定要长度长一点了,type一般就几个意思,长度为1就够了,我想如果tinyint会说话的话,一定会跳起来打你膝盖,咋地,质问你是看不起它还是咋地?我不知道现在怎样,以前这种思想夸张点说真的是普遍现象,所有人都这么干,那么你真的用对了吗?下面,我们一起来揭开int(1)、int(10)、int(11)它们一点儿也不神秘的面纱。

    1、我们先随便建一张表,定义几个字段,如下图所示:

    DROP TABLE IF EXISTS mzc;CREATE TABLE `mzc` (`id` int(1) unsigned zerofill NOT NULL AUTO_INCREMENT,`seq` int(1) DEFAULT NULL,`val` int(3) DEFAULT NULL,`num` int(10) unsigned DEFAULT NULL,`sort` int(10) unsigned zerofill DEFAULT NULL,`no` int(11) unsigned zerofill DEFAULT NULL,  PRIMARY KEY (`id`)) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

    2、眼尖的小伙伴应该也发现了这些字段都是int类型,只不过后面跟着不同的属性修饰,上一篇unsigned我就不啰嗦了,这次有的int后面多了个zerofill,就是下图复选框打钩的填充零,这是什么意思呢?

    b14740dc993ee5dfddb13702ee528c2c.png

    image

    3、别着急,我们向表里插一条数据。

    INSERT INTO `mzc`(`id`, `seq`, `val`, `num`, `sort`, `no`) VALUES (1, -12, 4567, 1, 1, 1);

    4、你们猜,执行select * 之后是什么样?

    SELECT * FROM mzc;

    5、别走神,高潮要来了,我们来一探到底。

    70c1ed7584e6d39174d40bdf0df1d58b.png

    image

    咦、sort和no的值怎么前面填充了那么多0,我的天呐,这么神奇的吗?是不是和有些小伙伴想的不一样?

    6、别泄气,再坚持一下,就用你们设想的姿势,我们给num插一个长度为10的值,就10个9吧,够大了吧?

    INSERT INTO `mzc`(`id`, `seq`, `val`, `num`, `sort`, `no`) VALUES (2, -12, 4567, 9999999999, 1, 1);

    你们猜怎么着,mysql说我耍流氓,说我太大了,超过它的承受范围了,终究是一个人扛下了所有。

    50159b4418f5df4f399f44b951ff881c.png

    image.png

    int(10)尚且如此,那有的小伙伴想插入长度11位的值该怎么办,我想还是死了这条心吧,下车冷静冷静,是时候真正了解int(1)、int(10)、int(11)了。

    我们来看一下Mysql手册上是怎么介绍的:

    int(M): M indicates the maximum display width for integer types.1

    这句话的意思就是:在 integer 数据类型中,M 表示最大显示宽度。

    也就是说:

    • int(M)中,M的值与int(M)所占多少存储空间没有任何关系,int(1)、int(10)、int(11) 在磁盘上都是占用 4 btyes 的存储空间。****
    • 与int类型的字段能存储的数据最大最小值也没有任何关系,int类型的字段能存储的数据上限还是2147483647(有符号型)和4294967295(无符号型)。

    这张图再发一遍,希望可以加深大家的印象。

    aa94acc1bdf7cc604e6d70c070b69433.png

    image

    回到我们第一次insert时候查询结果的截图:

    dc7847b24813da3804d0203cef535e93.png

    image

    可以发现,int(10)与int(11)后的括号中的字符表示显示宽度,用于显示宽度小于指定的列宽度的值时从左侧填满宽度,比如我们定义了int(10),插入1,在1左侧补充9个0,最后显示0000000001,int(11)同理。如果显示宽度大于指定列宽就正常显示,如果int(3),插入1,会显示001,插入了4567,还是显示4567。

    总结

    • int(1)、int(10)和int(11)本身是没有任何区别的,只有使用了zerofill之后,才会有显示宽度上的区别。
    • 声明整型数据列时,我们可以为它指定显示宽度M(1~255),理论最大显示宽度为255。
    • 如果为一个数值列指定ZEROFILL,MySQL自动为该列添加UNSIGNED属性。

    上次留言的那位老哥,不知你有没有看到这篇文章,虽迟但到,希望没有辜负你的信任。如果这篇文章能帮一些小伙伴扫盲,那也算是幸事一件了,希望可以帮忙转发、在看,给点鼓励和支持!谢谢!

    最后,因为文中开了点车,所以特地发另一篇文章,帮大家洗洗眼,感兴趣的话可以去第二篇文章读一读,句子很短,却充满故事和想象。

    展开全文
  • 由于需要将老版本的VB代码重新改造成C#代码,因此需要理清里面老系统VB代码的意思,而本人没有接触过VB,因此想请各位VB专家看一下这段代码的意思,If intTrans > 0 Then m_clsData.Connection.RollbackTrans这2...
  • 在C++中unsigned short int类型的,要怎么把数组中的值传给VB呢?在C++中要怎么做呢,传出什么样子的呢,在VB中又得怎么去调用呢,初次接触这个东西,不知道怎么个弄?最好请给出一个可以运行的小例子,万分感谢
    在C++中是unsigned short int类型的,要怎么把数组中的值传给VB呢?在C++中要怎么做呢,传出什么样子的呢,在VB中又得怎么去调用呢,初次接触这个东西,不知道怎么个弄?最好请给出一个可以运行的小例子,万分感谢
    展开全文
  • C语言没有引用,C++才有. ...因为C语言没有类似VB的“传引用调用”这个功能,所以C++的引用填补了这个空白。从此即使需要改动参数,也直接传递一个变量过去即可。这在操作符重载有更重要的意义。 int a; //声明变量
     
    
    C语言没有引用,C++才有.
    
    引用能起到指针的部分作用,但是比指针安全.
    
    一个引用可以看作是某个变量的一个"别名"。对引用进行操作就像对原变量进行操作一样。
    
    主要用于函数的参数传递时使用。因为C语言没有类似VB的“传引用调用”这个功能,所以C++的引用填补了这个空白。从此即使需要改动参数,也直接传递一个变量过去即可。这在操作符重载中有更重要的意义。
    int a;  //声明变量a
    int& ra = a; //声明一个引用,名字是ra,ra引用了a
    
    注意,ra声明的时候必须同时给出它到底引用了谁
    int& ra; //只声明不指明是不对的。
    
    还有,引用一旦声明,就不能再修改到其他变量上了,这与指针不同。
    ra = b; //这是不行的,因为已经int &ra = a了
    展开全文
  • VB课程设计俄罗斯方块

    热门讨论 2011-02-25 10:46:55
    Vb是microsoft公司于1991年退出的windows应用程序开发工具visual意思“可视化的”。在它刚推出来时,自身还存在一些缺陷,功能也相对少一些。但是经过多年的开发研究。最近microsoft公司又推出了VB6.0版本 VB6.0...
  • 答:这在VB里面就不能用来声明数组,在VB里面声明数组必须用圆括号(),在C语言可以用括号声明数组,例如:inta[3,4].37. dim a(m,n) as integer 是什么意思?答:貌似声明了一个数组,其实根本就不是数组,因为()...
    3f9e75693b14e221941938b597c5c798.png

    36. dim a()是什么意思?

    答:指定义一个空的变体型数组。

    36. dim a(3,4) as integer 是什么意思?

    答:这在VB里面就不能用来声明数组,在VB里面声明数组必须用圆括号(),在C语言中可以用中括号声明数组,例如:inta[3,4].

    37. dim a(m,n) as integer 是什么意思?

    答:貌似声明了一个数组,其实根本就不是数组,因为()不是确定的值不能用来声明数组。

    38. dim (3,4) as integer 是什么意思?

    答:这根本就不是一个数组,因为圆括号()前面没有数组名。

    39. 动态数组声明中关键字preserve是什么有意思?

    答:preserve英文的意思是保留、保存,此关键字是指在动态数组重新声明中数组中现有的值不会得到修改。与redim不同的是,redim Preserve只能改变最后一维的上届,即最末维的大小,来改变数组的大小,切不能数组维数,如果改变了其他维或者最后一维的下界,运行将会出错。如果在动态数组重新声明中,不使用preserve关键字,则数组中现有数据会被清零。

    40. 如何把一个单元格区域赋值给数组?

    答:excel表格由行和列组成,本身就是一个二维数组,故此只需要可以通过如下代码将单元格区域赋值给一个数组:

    67192ec15d17e96e0c703bf76e7ee0ba.png

    注解:[a1:c10]单元格区域中共有30个单元格,从本地窗口可以看出,代码按照先行后列的方式建立了30个元素数据。

    注意:二维数组中先行后列,即第一维是行,第二位是列。

    41. dim arrsoure(1 to 10,1 to 6,-1 to 5) aslong是什么意思?

    答:这是声明了一个数据类型为长整型的三维数组。

    42. 数组的维数如何判定?

    答:可以通过数组中的节点来判定数组的维数,即数组有多少逗号,该数组的维数就是多少。

    43. array函数是什么意思?

    答:返回一个包含数组的variant可变数据。Arrary函数在运行代码执行期间创建数组,而不必事先知道数组的大小,如下图所示:

    eb71b1508ab22c9f1dbd0c5f5370f39a.png

    44. Lbound、ubound函数是什么意思?

    答:Lbound用来返回一个long型数据,其值为指定的数组维可用的最小下标。Bbound用来返回一个long型数据,其值为指定的数组维可用的最大上标。

    325082eac48b960eb5b4e829050c2ee2.png
    展开全文
  • ---- 在VB6.0除了原来的Clear、Remove 方法外(很奇怪,为什么微软在VB5.0 只提供这两种方法,而没有提供Add方法,因为没有Add,这两种方法也就没什么用处), 增加了Add方法,该方法就是用于动态加载控件的: ...
  • VB.NET连扫码枪

    千次阅读 2017-05-11 09:38:18
    程序从网上copy的。还没有真正看串口的使用方式,已经成功连接并读取数据。 收获: 1) combox.selectedindex=0'选择combox里面的Item的索引 2)在Form1加入serial1或使用 dim ...不知道为什么一开始扫到的值...
  • 答:(3)28wed 不能作为VB中的变量,在VB中变量名第一个字符必须英文字母。 3.3 下列符号哪一个是VB中的合法变量名? (1)x23 (2)8xy (3)END (4)X8[B] 答:(1)x23 为合法变量名。 3.8 表达式2*3^2+2*8/4...
  • Tag:关卡号(Int) Type:关卡类型(1:故事(此时无evaluation,battle项) 2:对战(此时无text项)) RewardTag:获得的物品编号 Rarity:获得该物品的概率 #End description# #Text# @1 Background:背景相对...
  • 思路这样的:在线程使用threading.timer,1ms执行一次,使GLO_TICK++。Calculate_Interval 用来计算间隔时间。 实际上TimerTask不是1ms执行一次,这什么? ``` Module Module1 Class StateObjClass ' ...
  • C语言允许初始化列表出现多余的逗号,例如:int days[] = { 31, 28, 31, 30, 31, 30,...为什么这种特性有用的?#include <stdio.h> int main(int argc,char** argv){ enum qs{ Va = 5, Vb, ...
  • VFP实现选择排序

    2009-08-08 00:18:01
     首先我们了解一下什么是“水仙花数”。所谓水仙花数指一个n位数,其各位数字立方和等于该数本身的值,例如:153=13+53+33 ,所以153一个水仙花数。  我们来做一个简单点儿的:求解3位数的水仙花数,即100至999...
  • C#数组小可爱 ♥

    热门讨论 2018-06-01 20:47:48
    以前VB的时候曾经学过数组,现在再C#中也看到了数组,那么VB中的数组时什么样的呢? 数组的声明格式 数组的声明格式时固定的,每次声明一个数组就这样写了。 “num”可以改名字 中括号可以不写数字,写...
  • 在C#和Visual Basic的转换,以下一些转换的用法和区别是什么呢? [C#] long num = 12;int n = (int)num;int m = Convert.ToInt32(num); [VB.NET] Dim num As Long = 12Dim n As Integer = numn = CInt...
  • //Vibrator vb = (Vibrator)getSystemService(Service.VIBRATOR_SERVICE); //AlarmManager alarmClock = (AlarmManager) getSystemService(ALARM_SERVICE); protected void onCreate(Bundle ...
  • 4.C#的委托是什么?事件是不是一种委托? 答 : 委托可以把一个方法作为参数代入另一个方法。 委托可以理解为指向一个函数的引用。 是,是一种特殊的委托 5.override与重载的区别 答 : override 与重载的...
  • 强类型 观察下列代码: print('5' + 5) ...在某些语言,例如VB中,字符串‘5’可能会隐式地转换为整数,然后得到10.而在另一些语言中,例如JS,数字5可能会转换成字符串,生成一个结合字符串‘55’。在这里...
  • 在一小时内学会 C#(txt版本)

    热门讨论 2009-08-19 18:09:37
    例如:long 在 C++ 中是 4 字节而在 C# 中是 8 字节。bool 和 string 类型均和 C++ 不同。bool 仅接受真、假而非任意整数。 用户定义类型文件包含: 1. 类 (class) 2. 结构(struct) 3. 接口(interface) ...
  • 按值传递:调用方法时给的变量是什么值,返回还是什么值。只起到调用方法,给方法内赋值来实现某一具体功能,不负责值的回传。 问题5:为什么我提问过的问题在我下次登录后个人页面的“技术问答...
  • C#微软培训教材(高清PDF)

    千次下载 热门讨论 2009-07-30 08:51:17
    18.2 在 C #代码调用 C++和 VB 编写的组件 .240 18.3 版 本 控 制 .249 18.4 代 码 优 化 .252 18.5 小 结 .254 第五部分 附 录 .255 附录 A 关 键 字.255 附录 B 错 误 码.256 附录 C .Net 名字空间...
  • C#微软培训资料

    2014-01-22 14:10:17
    18.2 在 C #代码调用 C++和 VB 编写的组件 .240 18.3 版 本 控 制 .249 18.4 代 码 优 化 .252 18.5 小 结 .254 第五部分 附 录 .255 附录 A 关 键 字.255 附录 B 错 误 码.256 附录 C .Net 名字空间...
  • 我要用java调用一个dll,使用JNI或者(JNative组件),但dll有一个函数返回的指针类型.vb中用lstrcpy(result, pointer) 就可以得到, vc char* ret = 函数() 就可以得到,可我的java怎么得到指针对应的值呢.......
  • 水仙花数的vfp实现

    2009-08-08 00:19:47
     首先我们了解一下什么是“水仙花数”。所谓水仙花数指一个n位数,其各位数字立方和等于该数本身的值,例如:153=13+53+33 ,所以153一个水仙花数。  我们来做一个简单点儿的:求解3位数的水仙花数,即100至999...
  • 网上有很多人在责骂我写的教程,认为十天什么都学不会,看了我的教程还是什么都不会,我想他们或许过高估计了我的教程。外面有很多书,关于ASP和ASP.NET的,我就是看外面的书学会的。我所要做的就是希望大家能看了...
  • windows环境下32位汇编语言程序设计

    热门讨论 2011-09-20 13:02:19
    由于封装的关系,各种高级语言或多或少存在某种“缺陷”,比如VB不支持指针,结果很多需要使用指针的API用起来就很不方便,像多线程一类的特征在VB中就无法实现,PowerBuilder也如此;C语言已经最灵活的高级语言...
  • 打冰雹游戏源程序

    2013-06-16 00:07:04
    本次课程设计利用《软件设计基础-VB》课程所学到的编程知识和编程技巧,完成具有一定难度和工作量的程序设计题目,帮助学生掌握编程、调试的基本技能,独立完成所布置的任务。 要求: 1、对系统进行功能需求分析 2...
  • Java-PHP-C#

    2012-11-27 15:13:36
    元字符正则表达式一类有特殊意义的字符,用来描述其前导字符(即元字符前面的字符)在被匹配的对象出现的方式。元字符本身一个个单一的字符,但是不同或者相同的元字符组合起来可以构成大的元字符。 元...
  • c#学习笔记.txt

    2008-12-15 14:01:21
    另外我发现论坛上学习Java的人都非常的有个性,当有人问起学习哪种语言更好时,他会打出几百个“JAVA”来,填满整个屏幕,也不说为了什么。我觉得这样做未免有些太霸道了,如果你说这叫偏执狂我也不反对,虽然我...

空空如也

空空如也

1 2
收藏数 38
精华内容 15
关键字:

vb中int是什么