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

展开全部

具体方法:通过设置ql_mode变量更改模式。linux下安装mysql后,默认sql-mode值为空,此时mysql执行不严格检查;

mysql> create table t5 (c1 char(3));

mysql> insert into t5 values('abcd');

mysql> select * from t5;

+------+

| c1   |

+------+

| abc  |

+------+

1 row in set (0.00 sec)

我们发现插入的字符被自动截断了,但是如果我们本意希望如果长度超过限制就报错,那么我们可以设置sql_mode为STRICT_TRANS_TABLES,如下:

mysql> set session sql_mode='STRICT_TRANS_TABLES'

这样我们再执行同样的操作,mysql就会告诉我们插入的值太长,操作被终止,如下:

mysql> insert into t5 values('abcd');

ERROR 1406 (22001): Data too long for column 'c1' at row 1

经常使用的sql_mode值

Sql_mode值

描述

ANSI    更改语法和行为,使其更符合标准SQL。

STRICT_TRANS_TABLES    如果不能将给定的值插入到事务表中,则放弃该语句。

你可能感兴趣的:(mysql)