让MySQL在美国标准下运行

美国标准下运行的MySQL会有哪方面的调整

  我不得不说,这里有点标题党了;事实上我想说的就是--ansi模式下启动mysqld进行,但是这个ansi我没有找到更好的译文,就给译成了“美国标准”了。

  --ansi 模式下运行的MySQL和默认情况下的MySQL有什么不同呢?

  

  --ansi 模式只在两个方面影响MySQL 1): SQL_MODE 2): 事务的隔离级别

 

MySQL-8.0.x默认情况下的sql_mode和隔离级别

  1):SQL_MODE:

select @@sql_mode;                                                                                    
+-----------------------------------------------------------------------------------------------------------------------+
| @@sql_mode                                                                                                            |
+-----------------------------------------------------------------------------------------------------------------------+
| ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION |
+-----------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)

  2):隔离级别

select @@transaction_isolation;                                                                       
+-------------------------+
| @@transaction_isolation |
+-------------------------+
| REPEATABLE-READ         |
+-------------------------+
1 row in set (0.00 sec)

 

 

美国标准下MySQL的SQL_MODE和隔离级别

  在MySQL启动时加上 --ansi 选项就能让MySQL以美国标准运行

mysqld --ansi &

  1): SQL_MODE

select @@sql_mode;
+--------------------------------------------------------------------------------+
| @@sql_mode                                                                     |
+--------------------------------------------------------------------------------+
| REAL_AS_FLOAT,PIPES_AS_CONCAT,ANSI_QUOTES,IGNORE_SPACE,ONLY_FULL_GROUP_BY,ANSI |
+--------------------------------------------------------------------------------+
1 row in set (0.00 sec)

  2): 隔离级别

select @@transaction_isolation;
+-------------------------+
| @@transaction_isolation |
+-------------------------+
| SERIALIZABLE            |
+-------------------------+
1 row in set (0.00 sec)

 

 

美国标准下对MySQL的影响

  我感觉影响也要从两个方面来谈起,其一是SQL_MODE 由于SQL_MODE的变更直接影响到了“数据校验”和“SQL语法”,

  由于美国标准更改了SQL_MODE所以它一定就影响到了这两个点;

  其二是事务的“隔离级别”美国标准下的隔离级别是“序列化的”比默认的“可重复读更高”了。

 

 

-----------------------------http://www.sqlpy.com-------------------------------------------------

学习交流&我的站点

-----------------------------http://www.sqlpy.com-------------------------------------------------

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值