mysql bigint 索引_mysql,mysql索引_bigint(20)、smallint(5),mysql,mysql索引,java,hibernate,spring - phpStudy...

bigint(20)、smallint(5)

CREATE TABLE `idc_logistics_assign_rules` (

`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键ID',

`sp_id` bigint(20) unsigned NOT NULL COMMENT '外键关联表ID',

`creator` varchar(255) NOT NULL COMMENT '创建人工号',

`gmt_create` datetime NOT NULL COMMENT '创建时间',

`modifier` varchar(255) NOT NULL COMMENT '修改人工号',

`gmt_modified` datetime NOT NULL COMMENT '修改时间',

`rule_name` varchar(255) NOT NULL COMMENT '规则名称',

`rule_json_val` varchar(4096) NOT NULL COMMENT '规则JSON字符串',

`rule_content` varchar(4096) NOT NULL COMMENT '规则中文描述',

`type` varchar(128) NOT NULL COMMENT '类型(同机房、同城、区域内、区域外、其他)',

`rule_lable` varchar(256) NOT NULL COMMENT '标签',

`is_valid` char(1) NOT NULL COMMENT '是否有效(y/n),默认n',

`is_deleted` char(1) NOT NULL COMMENT '是否删除',

`ordering` smallint(5) unsigned NOT NULL COMMENT '排序字段',

PRIMARY KEY (`id`),

UNIQUE KEY `uk_ordering` (`ordering`),

KEY `idx_rule_content` (`rule_content`(255))

) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8 COMMENT='表名';

上面是建表的SQL语句,对于其中的数据类型有不明白的地方,如下:

1.smallint(5),我看了smallint本来的范围是:

A smallint is between -32768 and 32767 signed, or 0 and 65535 unsigned.

但是加了smallint(5)之后,对它的范围并没有影响,那么加这个有什么用呢?。假如我不指定括号中的位数呢?它的默认值是要取什么值呢?

2.同理varchar(255)是表示255个字节么?如果要存中文的话,用utf8编码,算上标点符号,大概能存多少个中文汉字呢?

3.另外还有datetime这种数据类型,一般并不指定有效位数的。那么如果我要精确到秒的、精确的分的、精确到月的,数据库中是不能直接这么存的么?只能存一个完整的时间(存一个以1970开始的long型方便),然后查的时候,可以用Mysql提供的函数来过滤??

======================================================================

在列中使用zerofill,如插入int(4),你插入1,显示0001,你插入55555,显示也是55555,插入负数显示为0000,因为mysql自动增加UNSIGNED属性 UNSIGNED不能为负数,当你插入负数时就显示0, 多操作就能理解 希望采纳

相关阅读:

微信android sdk 现在能否一次发送多张图片?

IOS 真机调试时出现错误 code signing ... in SDK 'iOS8.x'。google无果。

SublimeCodeIntel取消输入:和;后的提示

python自制简易搜索引擎有何思路?

redis事务具有原子性和持久性吗?

微信开发接口调用返回errcode:42005

多用户系统的用户表该怎样设计啊

为什么

tp框架 开发网站 有pc版和手机版 如何做到自动识别访问者设备 然后进不同的版本里

webpack 分离common包和js加md5,HTML替换的问题

关于jQuery select2

html5中可以在手机浏览器上直接调用手机qq么?

qos 下行限速无效 for win7

关于一个mysql批量更新的效率问题

logback 如何设置自动清除日志。默认10mb大小。多余的清除 ?

CSS排版错位问题

非手机浏览器上Mobile网站时如何自动跳转到PC端?

当外面的容器的height使用百分比时,如何设置line-height可以使里面的文字垂直居中。

PHP完全不拼接SQL的ORM是怎么实现的?

iOS在某界面强制横屏

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值