如何在mysql配置文件里将sql-mode修改为NO_AUTO_CREATE_USER?

如何在mysql配置文件里将sql-mode修改为NO_AUTO_CREATE_USER?,第1张

1.用sql工具执行show variables like‘%sql_mode%’

2.如果重启之后不成功, 注意检查你的my.ini 或者 my.cnf 有没改对,是不是有多个同名字的配置文件, 也有可能叫sql-mode 或sql_mode 注意中间的‘-’ 或 ‘_’

mysql的sql_mode合理设置,sql_mode是个很容易被忽视的变量,默认值是空值,在这种设置下是可以允许一些非法 *** 作的,比如允许一些非法数据的插入。在生产环境必须将这个值设置为严格模式,所以开发、测试环境的数据库也必须要设置,这样在开发测试阶段就可以发现问题 。

ONLY_FULL_GROUP_BY,对于GROUP BY聚合 *** 作,如果在SELECT中的列,没有在GROUP BY中出现,那么这个SQL是不合法的,因为列不在GROUP BY从句中

NO_AUTO_VALUE_ON_ZERO,该值影响自增长列的插入。默认设置下,插入0或NULL代表生成下一个自增长值。如果用户希望插入的值为0,而该列又是自增长的,那么这个选项就有用了。

1)char: char不用多说了,它是定长格式的,但是长度范围是0~255. 当你想要储存一个长度不足255的字符时,mysql会用空格来填充剩下的字符。因此在读取数据时,char类型的数据要进行处理,把后面的空格去除。

(2)varchar: 关于varchar,有的说最大长度是255,也有的说是65535,查阅很多资料后发现是这样的:varchar类型在5.0.3以下的版本中的最大长度限制为255,而在5.0.3及以上的版本中,varchar数据类型的长度支持到了65535,也就是说可以存放65532个字节(注意是字节而不是字符!!!)的数据(起始位和结束位占去了3个字节),也就是说,在5.0.3以下版本中需要使用固定的TEXT或BLOB格式存放的数据可以在高版本中使用可变长的varchar来存放,这样就能有效的减少数据库文件的大小。

(3)text:与char和varchar不同的是,text不可以有默认值,其最大长度是2的16次方-1


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/6130267.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-03-15
下一篇2023-03-15

发表评论

登录后才能评论

评论列表(0条)

    保存