今天技术讨论群里 “一切随遇而安”同学看书时出现一个疑问,一个MySQL的表中到底可以有多少个字段?带着这个疑问,我们展开了探讨,也接着讨论了一个单字段长度的问题。
1. 官方文档说明
官方文档的内容如下,主要意思是字段个数限制达不到理想的4096个,且和字段类型有关,innodb引擎的字段上限是1017,。
2. 测试表字段数限制
2.1 测试innodb引擎表
因官方文档介绍了innodb表字段限制是1017,因此可以写程序进行模拟。思路如下:
a) 创建一张1个 char(1) 类型的innodb表
b) 循环往该表新增字段 直至报错
我使用的是python 脚本进行测试,脚本如下:
#!/usr/bin/python
# coding=utf-8
import pymysql as mdb
import os
sor_conn = mdb.connect(host='127.0.0.1',port=3306,user='root',passwd='123456')
sor_cur = sor_conn.cursor()
v_sql_d = "drop table if exists test.test_c ;" # 为了程序重复执行,添加判断
sor_cur.execute(v_sq