今天在试验MySQL数据库字段自动截取的时候,发现需要配置参数,如果my.ini 下的sql_mode参数配置成严格模式,则不会自动截取,否则会有警告,但是还是自动截取后保存。在这个过程中遇到一些问题,总结如下:
1、my.ini在哪里,发现有两个,一个在安装根目录下:C:\Program Files\MySQL\MySQL Server 5.7 名字是my-default.ini ,另一个是在MySQL默认的数据文件夹下:C:\ProgramData\MySQL\MySQL Server 5.7 名字是my.ini 经过试验,应该是在programdata下这个
2、怎么验证my.ini配置了是否生效?配置后,进入命令行CMD,然后 mysql -h localhost -uroot -p ,然后输入密码,进入mysql 命令行模式,这里如果进不去,需要配置mysql的环境变量,然后\s ,就会展示各个参数。或者可以在sqlyog中用查询命令:SHOW global VARIABLES LIKE 'sql_mode%'。但是这里用命令SHOW VARIABLES LIKE 'sql_mode%'; 却不显示配置的参数,因为sqlyog8之后的版本,启动后默认会将参数置为空。实际已生效。
3、如果只要在当前回话让sql_mode生效,可以在sqlyog用命令:SET sql_mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION";