zoukankan      html  css  js  c++  java
  • mysql ANSI_QUOTES 这个sql_mode的作用

    首先sql_mode用于mysql的行为,sql_mode的多个值之间用','分隔;

    1、平时sql_mode的值是多少?

    select @@session.sql_mode;
    +---------------------------------------------------------+
    | @@session.sql_mode                                      |
    +---------------------------------------------------------+
    | STRICT_TRANS_TABLES,NO_ZERO_DATE,NO_ENGINE_SUBSTITUTION |
    +---------------------------------------------------------+

    2、如果我放荡不羁想建一张表、它的表名就叫table 那我要怎么做才好?

    create table `table`(x int);
    Query OK, 0 rows affected (0.01 sec)

      看到了没有这个时候我要用'反引号' 把table 这个表名给引起来;哥哥我大一的时候真的是找到不这个’反引号‘怎么打出来呀!

      为了初学者不至于因为打不出‘反引号’而不能放荡不羁,于是ANSI_QUOTES出来了;有了它我们只有把关键字用‘双引号’引起来

      就对了。

    3、给sql_mode加上ANSI_QUOTES 

    set @@session.sql_mode=concat('STRICT_TRANS_TABLES,NO_ZERO_DATE,NO_ENGINE_SUBSTITUTION',',ANSI_QUOTES');
    Query OK, 0 rows affected, 1 warning (0.00 sec)

      #注意mysql中两个字符串是不能直接用+号连接起来的,要用concat函数。

    4、查看mysql有ANSI_QUOTES后有多牛逼

    mysql> show tables;
    +-------------------+
    | Tables_in_tempdb  |
    +-------------------+
    | django_migrations |
    | polls_user        |
    | t2                |
    | table             |
    +-------------------+
    4 rows in set (0.00 sec)
    
    mysql> 
    mysql> 
    mysql> 
    mysql> drop table "table";
    Query OK, 0 rows affected (0.00 sec)

      看到了吧、在drop table 语句中的表名直接用"号引起来就行了。

    ---

  • 相关阅读:
    [WC2010]重建计划
    [Codeforces150E] Freezing with Style
    [Codeforces915F] Imbalance Value of a Tree
    [Codeforces1055F] Tree and XOR
    [Codeforces1117G]Recursive Queries
    [Codeforces587F]Duff is Mad
    [Codeforces547E]Mike and Friends
    [2020团体程序设计天梯赛-总决赛L3-2] 传送门
    第05组 Beta冲刺 (1/5)
    第05组 Alpha冲刺 总结
  • 原文地址:https://www.cnblogs.com/JiangLe/p/6885460.html
Copyright © 2011-2022 走看看