mysql - MySQL中 "no"关键字的作用是什么?

标签 mysql reserved-words

我只是随机发现“no”是Mysql中的保留字/关键字。

我在 Google 上搜索了它的用途,但找不到答案。

有人可以解释一下,或者有任何链接来解释每个 Mysql 的保留关键字用法吗?

https://dev.mysql.com/doc/refman/8.0/en/keywords.html

最佳答案

我搜索了MySQL 8.0 grammar file ,并发现 NO token 通过以下方式使用:

  • 在级联外键声明中,您可以使用ON {UPDATE|DELETE} NO ACTION

  • stored routinesNO SQL 特征中.

  • COMMIT 语句的选项,这意味着在提交当前事务后自动启动新事务或释放 session 。

    COMMIT AND NO CHAIN;
    COMMIT AND NO RELEASE;
    

    https://dev.mysql.com/doc/refman/8.0/en/commit.html说:

    Including the NO keyword suppresses CHAIN or RELEASE completion, which can be useful if the completion_type system variable is set to cause chaining or release completion by default.

  • 作为合并插入类型,这是对 MERGE 表使用 CREATE TABLE 时的一个表选项。如果您将表声明为:

    ,则插入将被禁用:
    CREATE TABLE mytable (...) ENGINE=MERGE UNION=(...) INSERT_METHOD=NO;
    

就其值(value)而言,NO 关键字不是保留关键字。在您链接到的关键字文档页面中,保留关键字标有“(R)”,但 NO 没有该注释。因此,您可以使用 NO 作为标识符,而不必用反引号分隔它。

mysql> create table no ( i int);
Query OK, 0 rows affected (0.05 sec)

关于mysql - MySQL中 "no"关键字的作用是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68621309/

相关文章:

Delphi 7 类助手的先见之明

php - 带有 mysql 保留字的 SQL

php - 使用 Nginx 而不是 Apache 时,单独的 MySQL 服务器是否有意义?

ruby-on-rails-3 - rails 中的保留字列表 *3*

mysql - 根据其他 2 列的总和查找每个键的前 N ​​个项目

MySQL 函数给出相同的结果

mysql - 由于在 MySQL 中使用保留字作为表名或列名而导致的语法错误

hive - 如何转义用作 HIVE 列名的保留字?

c# - 如何保护与 MySql 服务器的连接

MySQL:计算今天添加的记录的最有效方法