首页
学习
活动
专区
圈层
工具
发布

MySQL创建表字段真的可以随便定义么

MySQL 表字段真的可以随便写么? 直接上答案: 肯定不能呀 我是怎么知道不能随便使用呢? 原因很简单,因为我使用了字段[system],上线报错了.又有人问为啥测试的时候没暴露出来呢?...原因也很简单,测试环境使用的是MySQL5,生产环境使用的是MySQL8.而 system 字段在MySQL5不是保留字,在MySQL8 是,一个简单的错误告诉我们,生产和测试使用的组建信息版本一定要一致...那既然不能随便写字段,快告诉我哪些字段不能使用,下面直接给你最全的: MySQL 8.x 关键字和保留字字段 赠送一个MySQL字段错误点 还有一个大家很容易忽略的就是表结构设计时候的字段长度,因为如果保存数据的时候如果字段过长...因此在最初设计表结构的时候,字段长度一定要根据实际情况判断,如果不能确定字段具体长度,可以使用 text 类型,如果觉得 text类型比较耗费表容量,可以在保存字段信息的时候直接将字段长度截取后再保存.

78710
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    MySQL的timestamp字段可以使用的范围是多少

    我在做一个收据采集的程序,需要记录起始时间和结束时间,在数据库中是用timestamp字段来保存的,有些情况下不存在起始时间,此时就需要设置一个默认的起始时间,当初想着是使用timestamp类型的『最小值...从MySQL的官方文档就可以得到结论,http://dev.mysql.com/doc/refman/5.0/en/datetime.html The TIMESTAMP data type is used...MySQL converts TIMESTAMP values from the current time zone to UTC for storage, and back from UTC to the...For more information, see Section 10.6, “MySQL Server Time Zone Support”....如果我没有理解错的话,MySQL将timestamp类型的值保存的时候,会从当前时区转成UTC时间,正好解释了前面1970-01-01 00:00:00或1970-01-01 00:00:01两个值保存时出错的问题了

    3.2K20

    Mysql插入中文的字段内容时乱码的解决方法

    Mysql插入中文的字段内容时乱码的解决方法 1.我们在往数据库插入数据的时候,当遇到中文字符的插入时会发现插入的数据会变为?号,也就是乱码,如下所示: ?...image.png 2.这时候我们使用如下的查询语句可以看到相应的字符集编码: show variables like '%char%'; [图片上传失败......(image-33d826-1556266481174)] 3.这里我们可以看到有些字符编码集不是utf8的,为了让这里所有的字符集都设置为utf8, 我们需要更改改动mysql配置文件/etc/...=utf8 在window环境下在 MySQL 的安装目录下有一个 my.ini 配置文件, [mysql] default-character-set=utf8 [mysqld] character-set-server...=utf8 4.当然你也可以在配置数据库的url的时候加上useUnicode=true&characterEncoding=UTF-8&useSSL=false jdbc.url=jdbc:mysql

    3.7K50

    MySQL 字段操作

    表字段是怎么插入并修改呢? 字段又有哪些约束条件?...字段名> 字段名> 字段类型> ; #可用来修改字段数据类型 #也可以在修改数据类型后添加默认值或其它约束条件 #可以在最后修改字段位置[first | after] 4 字段添加默认值...唯一约束(Unique Key) Unique Key 约束的字段,值唯一,允许为空,唯一约束可以确保一列或者多列不出现重复值; #创建表时添加唯一约束 CREATE TABLE (字段 数据类型...; 5.自增约束(AUTO_INCREMENT) •字段必须是key ,比如primary key;•字段默认从1开始,默认步长为1;•字段在插入数据时可以指定为null值;(指定为null 即自动增长...CREATE TABLE (字段名 数据类型 约束条件); #提示:修改数据类型时也可以添加约束哦 by~

    14.3K30

    Hive表字段Comment中文乱码

    1.问题描述 默认Hive中创建有中文注释的表时,无论是在Hive CLI还是Hue中该注释显示都会是乱码。...2.解决办法 这个问题是因为mysql中的元数据库表COLUMNS_V2中的字段COMMENT编码问题导致的,需要设置为utf-8,如下所示: [mxgay8tfv9.jpeg] 在mysql中设置该字段的编码为...utf-8,如下所示: | mysql –u root –puse metastore;alter table COLUMNS_V2 modify column COMMENT varchar(256...metastore defaultcharacter set utf8; 回到Hive中重现create一张表 [1o7toudt1p.jpeg] 查看该表的注释: [jcb1ya0ce7.png] 发现中文注释已经显示正常...change column s2 s2 STRING COMMENT '我不好'; | |:----| [l83dkda1nq.png] 再次查看旧表的comment: [1tyh4uadam.png] 发现中文注释已经显示正常

    4.5K120

    MySQL的一个表最多可以有多少个字段

    总结 ● MySQL Server最多只允许4096个字段 ● InnoDB 最多只能有1000个字段 ● 字段长度加起来如果超过65535,MySQL server层就会拒绝创建表 ● 字段长度加起来...错误1 这个报错其实我们查询MySQL官方手册就可以查询到, 对于一行记录最大的限制是65535字节。为什么是65535,不要问我,手册也没说:)——一行数据里面字段长度定义有64k,我也是醉了。...按照上面的说法,应该要报错的, 但是各位可以在自己的数据库上试一下,表能够建立成功,这是为什么呢? 其实MySQL在计算字段长度的时候并不是按照字段的全部长度来记的。...● 创建一个150个字段长度类型为varchar(100)的表可以创建成功。...回到错误3 回归正题,第二个错误我们可以越过去,但是我们是不是能够真的插入150个100字符的字段列。 用附2的插入语句试一下就知道,错误3也会报错出来。

    16.5K91

    mysql字段名

    default Null:表示字段的值可以为空(在进行数据插入的时候,该字段可以不给数据),notnull表示不能为空,必须要给定值(不能是null) Default:默认值,系统给出最多的值是default...在表后面增加primary key语句,来包含对应的主键字段 使用该方式,可以使用复合主键(可以使用多个字段共同组成主键) 3....可以通过修改表结构增加主键 语法:alter table 表名 add primary key(字段列表) 前提:当前表的数据中,字段唯一 PRI代表主键 primary key就是主键 修改主键:主键不能被修改...查看自增长控制变量 Show variables like ‘auto_increment%’; 可以通过修改自增长配置来实现自增长的控制 Unique key 唯一键,字段的值不能重复 1....一张表唯一键可以有多个 2. 唯一键不对null进行处理 如果添加唯一键? 跟主键的添加方式基本相同 1. 在字段之后直接跟unique key 2.

    7.9K20

    MySQL之text字段

    MySQL之text字段 之前做的SQL审核工具不支持text类型的字段的,今天一个业务方问我为什么不支持text字段,大概给他讲了讲,后续发现可能还有些不完善的地方,这里总结一下text的用法,先来看看官方文档上对这个字段的解释...text对象的最大大小由其类型决定,但实际可以在客户端和服务器之间传输的最大值取决于可用内存量和通信缓冲区的大小。...您可以通过更改max_allowed_packet这个参数的值来确定消息缓冲区大小 ,但必须同时为服务器和客户端程序执行此操作,否则是无法生效的。...区 text和varchar的区别 在大多数情况下,我们可以把text视为varchar字段,但是这两个字段类型在存储字符大小上有一些区别: varchar在mysql中必须满足最大行宽度限制...除此之外,二者还有以下的区别 1、当text作为索引的时候,必须 制定索引的长度,而当varchar充当索引的时候,可以不用指明。

    13.9K10

    MySQL修改字段名、修改字段类型

    修改字段 类型、名、注释、类型长度、默认值 ALTER TABLE 表名 MODIFY [COLUMN] 字段名 新类型 新类型长度 新默认值 新注释; -- COLUMN关键字可以省略不写...'注释'; 修改字段名 -- 字段名称未改变,修改字段类型、类型长度、默认值、注释 ALTER TABLE 表名 CHANGE [column] 旧字段名 新字段名 新数据类型; alter...column1 decimal(10,1) DEFAULT NULL COMMENT '注释' alter table table1 change column1 column2; -- 报错 mysql...Duplicates: 0 Warnings: 0 更改表名 Table 从 db_a 要搬到 db_b RENAME TABLE db_a.old_table TO db_b.new_table; MySQL...Table 改名字(重命名) RENAME TABLE old_table TO new_table; MySQL 两个 Table 互换名 RENAME TABLE old_table TO tmp_table

    38.4K32

    mysql多字段分组

    文章目录 mysql多字段分组 group by 语法 多字段分组 GROUP BY与ORDER BY一起使用(分组排序) 使用having过滤分组 mysql多字段分组 group by 语法 分组查询是对数据按照某个或多个字段进行分组...,MYSQL中使用group by关键字对数据进行分组,基本语法形式为: [GROUP BY 字段][HAVING ] 多字段分组 使用GROUP BY可以对多个字段进行分组,GROUP...BY关键字后面跟需要分组的字段,MYSQL根据多字段的值来进行层次分组,分组层次从左到右,即先按照第1个字段分组,然后在第1个字段值相同的记录中,再根据第2个字段的值进行分组,以此类推。...GROUP BY与ORDER BY一起使用(分组排序) 某些情况下需要对分组进行排序,order by用来对查询的记录排序,如果和GROUP BY一起使用,就可以完成对分组的排序 例如下表:...createTime from well GROUP BY wellid,createTime order by createTime; 统计结果: 使用having过滤分组 GROUP BY可以和

    10.5K10

    【mysql】MySQL存放字节与字段类型

    欢迎关注微信公众号:数据科学与艺术 作者WX:superhe199 在MySQL中,用于存放字节(raw binary data)的字段类型主要有两种: BINARY 或 VARBINARY...如果插入的数据不足 n 字节,MySQL会用空字节(\0)进行填充,以确保存储的总长度始终为 n 字节。n 的最大值取决于MySQL的具体版本,通常在255至65535字节之间。...选择哪种字段类型取决于您需要存储的字节数据的大小和特点: 如果您知道数据的精确长度,并且长度较小(通常几百字节以内),且长度固定不变,可以选择 BINARY(n)。...这样可以节省存储空间,因为MySQL会为每个记录分配固定的存储空间。 如果数据长度可变或者您希望存储较大的字节数据(几百到几百万字节),应使用 VARBINARY(n) 或 BLOB 类型。...这些类型可以根据实际数据长度动态调整存储空间,避免不必要的空间浪费。 对于非常大的字节数据(几MB到几GB),应使用 MEDIUMBLOB 或 LONGBLOB 类型。

    61210

    如何得到数据库中所有表字段及字段中文描述

    如何得到数据库中所有表字段及字段中文描述 以下资料,通过csdn的一位师兄从SQL版主那得到: sql中 SELECT  (case when a.colorder=1 then d.name...else '' end) N'表名',  a.colorder N'字段序号',  a.name N'字段名',  (case when COLUMNPROPERTY( a.id,a.name,...[value],'') AS N'字段说明' --into ##tx FROM  syscolumns  a left join systypes b on  a.xtype=b.xusertype...sysproperties g on a.id=g.id AND a.colid = g.smallid  order by object_name(a.id),a.colorder 一个字,爽,还可以省去做...如果不是很明白,可以将以上代码放到SQL查询分析器上运行一下就知道了(当然要打开一个数据库啦) 本文由来源 21aspnet,由 system_mush 整理编辑,其版权均为 21aspnet

    1.4K20
    领券