Mysql中zerofill自動填充的實現(xiàn)
1. 問題起源
在公司做項目的時候需要建表,如下:
CREATE TABLE `project_student_task` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '自增主鍵id', `user_id` varchar(64) NOT NULL DEFAULT '' COMMENT '飛書用戶id', `dept_id_path` varchar(255) NOT NULL DEFAULT '' COMMENT '用戶部門id path', `mentor_user_id` varchar(64) NOT NULL DEFAULT '' COMMENT '導(dǎo)師飛書用戶id', `project_dataset_check_id` bigint(20) unsigned NOT NULL DEFAULT '0' COMMENT '項目唯一標(biāo)識', `project_section_key` varchar(128) NOT NULL DEFAULT '' COMMENT '階段唯一標(biāo)識', `project_section_task_key` varchar(128) NOT NULL DEFAULT '' COMMENT '任務(wù)唯一標(biāo)識', `detail_type` tinyint(3) unsigned NOT NULL DEFAULT '0' COMMENT '任務(wù)類型', `task_name` varchar(64) NOT NULL DEFAULT '' COMMENT '任務(wù)名稱', `detail` longtext NOT NULL COMMENT '任務(wù)詳情', `state` tinyint(3) unsigned NOT NULL DEFAULT '0' COMMENT '任務(wù)狀態(tài)', `created_at` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '創(chuàng)建時間戳,單位秒', `updated_at` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '更新時間戳,單位秒', PRIMARY KEY (`id`), UNIQUE KEY `uniq_1` (`project_dataset_check_id`,`project_section_key`,`project_section_task_key`,`user_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='項目學(xué)員任務(wù)表'; CREATE TABLE `project` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '自增主鍵id', `dataset_check_id` bigint(20) unsigned NOT NULL DEFAULT '0' COMMENT '項目唯一標(biāo)識', `title` varchar(255) NOT NULL DEFAULT '' COMMENT '項目名', `training_type` tinyint(3) unsigned NOT NULL DEFAULT '0' COMMENT '培訓(xùn)分類', `principals_uids` varchar(255) NOT NULL DEFAULT '' COMMENT '英文逗號分隔的負(fù)責(zé)人飛書用戶id', `principals_dept_id_paths` varchar(1024) NOT NULL DEFAULT '' COMMENT '英文逗號分隔的負(fù)責(zé)人部門id path', `join_rule` varchar(2048) NOT NULL DEFAULT '' COMMENT '加入規(guī)則,json', `auto_join_rule` varchar(2048) NOT NULL DEFAULT '' COMMENT '自動加入規(guī)則,json', `state` tinyint(3) unsigned NOT NULL DEFAULT '0' COMMENT '項目狀態(tài)', `created_at` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '創(chuàng)建時間戳,單位秒', `updated_at` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '更新時間戳,單位秒', PRIMARY KEY (`id`), UNIQUE KEY `uniq_1` (`dataset_check_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='項目表';
其中int(11),一開始是以為只能存儲11以內(nèi)的數(shù)字[1,2,3,4,5,6,7,8,9,10],但是這個是時間戳啊,時間戳都是這樣的 1670208098
十位數(shù)字。后來查了之后才知道 int (11)
在mysql 里面 是指 顯示 長度 ?。。?/p>
跟存值范圍沒半毛錢關(guān)系 !跟存值范圍沒半毛錢關(guān)系 !跟存值范圍沒半毛錢關(guān)系 !
但是從8.0.17版本開始,TINYINT, SMALLINT, MEDIUMINT, INT, and BIGINT類型的顯示寬度將失效。
公司的mysql版本:5.6.51-log
這個顯示寬度必須加zerofill才生效。還有如果某一數(shù)值列規(guī)定了zerofill,則自動把此列變?yōu)闊o符號整數(shù)。若規(guī)定了zerofill的數(shù)據(jù)列,如果數(shù)據(jù)長度沒有達(dá)到規(guī)定長度,則在數(shù)據(jù)前自動填充0
但看別人寫的代碼加了顯寬,但也不知道為什么沒有加zerofill,有懂的下面評論下!
2. 學(xué)習(xí)的文檔(解決這個問題的文檔)
http://www.dbjr.com.cn/article/258445.htm
http://www.dbjr.com.cn/database/29721612f.htm
到此這篇關(guān)于Mysql中zerofill自動填充的實現(xiàn)的文章就介紹到這了,更多相關(guān)Mysql zerofill自動填充內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
MySQL中把varchar類型轉(zhuǎn)為date類型方法詳解
這篇文章主要介紹了MySQL中把varchar類型轉(zhuǎn)為date類型方法詳解的相關(guān)資料,非常不錯,具有參考借鑒價值,需要的朋友可以參考下2016-07-07利用MySQL主從配置實現(xiàn)讀寫分離減輕數(shù)據(jù)庫壓力
今天小編就為大家分享一篇關(guān)于利用MySQL主從配置實現(xiàn)讀寫分離減輕數(shù)據(jù)庫壓力,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧2019-03-03SELinux導(dǎo)致PHP連接MySQL異常Can''t connect to MySQL server的解決方法
這篇文章主要介紹了SELinux導(dǎo)致PHP連接MySQL異常Can't connect to MySQL server的解決方法,有2種,一是設(shè)置允許,二是關(guān)閉SELinux,需要的朋友可以參考下2014-07-07SQL實現(xiàn)LeetCode(175.聯(lián)合兩表)
這篇文章主要介紹了SQL實現(xiàn)LeetCode(175.聯(lián)合兩表),本篇文章通過簡要的案例,講解了該項技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下2021-08-08