mysql

mysql的sql_mode

之前遇到过一个问题,就是同样的sql insert语句,在我的环境就执行不成功,在别人环境可以执行成功,而且我们的表结构是一样的!!! 这个问题一看上去很诡异,但是仔细地看报出的错误,原来是我的环境里面某些字段不能为null,但是sql语句里面却没有为这些字段提供默认值。 最后从网上找到了这个问题的解决办法,原来是和mysql的sql_mode有关。 查看当前数据库使用的sql_mode 上面查看的是全局情况下的sql_mode,也可以查看其它环境下的,如下面所示: 查询session变量 mysql> select @@session.sql_mode; 查询用户变量 mysql> select @sql_mode; 查询全局变量

  • Nemo
    Nemo
2 min read
mysql

mysql 用户名长度限制导致php连接不上

mysql用户名长度的限制 最近遇到了一个小问题,但是耗费了很长时间来定位问题。 原因是,连接mysql的时候,一直报错说连接不上,具体是说Access denied for user 'xxxx_xxxx_xxxx@192.168.1.10' (using password:YES)。刚开始我以为是使用的第三方库的问题,排查后发现不是。后来我以为是我所在的网段或者我的机器出问题了,这也不是。 最后,发现这个报错信息里面的username不对,是被截断了的。上网一搜,是mysql的用户名太长了,导致连接不上。 在mysql里面,它是这样规定的: MySQL

  • Nemo
    Nemo
1 min read