;截图如下::成功插入

发布时间:2025-06-24 18:20:46  作者:北方职教升学中心  阅读量:793


id。

;

在这里插入图片描述

截图如下::

成功插入。 demo_date。 sql_mode。date。TABLE。TABLE。.。TABLE。"demo_quotes"(。CREATE。 demo_strict。

指定的存储引擎不能使用,报告错误󿀌而不是使用默认存储引擎。1。 在。 demo_date。'2020-00-00'for。,NO_ZERO_DATE。)。 相比之下,MySQL 8.0 #xff0没有太大变化c;但。)。)。

在关闭的情况下,MySQL可以随意选择代表每个分组和#xff0的行c;而不是严格遵守 SQL 标准操作,以下: this。-- 设置 SQL_MODE 为 STRICT_TRANS_TABLES。='NO_ZERO_IN_DATE,NO_ZERO_DATE';-- 创建表。,.。"id","name")。

￰被移除c;因为 MySQL 8.0 自动创建用户的特性已被取消。]。 demo_date。TABLE。INSERT。1。(。)。
    • 2.1 ONLY_FULL_GROUP_BY。 - Data too long。SET。column。 :。='ONLY_FULL_GROUP_BY';-- 查询每个学生的平均成绩。VALUES。='ANSI_QUOTES';-- 试着用双引号作为标识符。
    • 1. 基本知识。 在。
  • .。

    控制 MySQL 的 SQL 分析和执行方法,使其与 SQL 标准或其他数据库系统的行为一致。for。INT。

    ;报错结果如下::

    [Err] 1286 - Unknown storage engine 'NON_EXISTENT_ENGINE'

    在这里插入图片描述

    截图如下::

    2.5 ANSI_QUOTES。FROM。TABLE。;-- 插入数据。BY。VALUES。1406。STRICT_TRANS_TABLES。SET。-- 开启 ONLY_FULL_GROUP_BY 模式。

    • 前言。5。INT。='STRICT_TRANS_TABLES';-- 创建表。,NO_ZERO_IN_DATE。CREATE。1。
      控制对于 GROUP BY 处理子句的方法。是 MySQL 中用于设置 SQL 语法和行为的系统变量。name。INSERT。(。Err。 id。
      通过设置 SQL_MODE,可以改变 MySQL 处理特定 SQL 操作模式。 incompatible。)。row。value。 demo_strict。-。"demo_quotes"(。 sql_mode。
    • 2.3 NO_ZERO_IN_DATE。,'2020-00-00')。 id。

      目录。 demo_date。INTO。is。

      在这里插入图片描述
      截图如下:: 确保包含输出。='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE';-- 创建表。 sql_mode。(。='NO_ENGINE_SUBSTITUTION';-- 尝试创建不存在的存储引擎表。INTO。

      在这里插入图片描述

      截图如下::

      2.3 NO_ZERO_IN_DATE。INSERT。 demo_engine。,'John Doe')。, name。 Incorrect。(。)。1。

      1。;-- 尝试插入超长数据。SET。

    • 2.5 ANSI_QUOTES。

      在这里插入图片描述

      ;

      2.2 STRICT_TRANS_TABLES。salary。

    • 2. Demo解释。)。;-- 试着插入无效日期。

      ;

      ࿱执行结果a; INSERT INTO demo_strict VALUES。sql_mode。-- 设置 SQL_MODE 为 NO_ENGINE_SUBSTITUTION。,'TooLongName')。

      ;
      但是在执行过程中可以成功,但是查询时的日期显示在0000-00-00之间。column。

      SQL_MODE。,AVG。INTO。 id。(。
      默认 SQL_MODE 包括:ONLY_FULL_GROUP_BY, STRICT_TRANS_TABLES, NO_ZERO_IN_DATE, NO_ZERO_DATE, ERROR_FOR_DIVISION_BY_ZERO, NO_ENGINE_SUBSTITUTION。;[。Err。

      了解Mysql内部机制有助于辅助开发和形成整体架构思维。VALUES。

      2.1 ONLY_FULL_GROUP_BY。,"name"VARCHAR。 sql_mode。CREATE。SET。)。

      • MySQL 5.7。

      相比之下,

    • 2.2 STRICT_TRANS_TABLES。"id"INT。'name' at row。

      默认情况下,MySQL 允许在 SELECT 查询中使用 GROUP BY 子句时,对于不在 GROUP BY 隐式处理子句中的非聚合列,可能会导致意想不到的结果。

      ;

      最终结果如下:a;[。ONLY_FULL_GROUP_BY。DATE。STRICT_TRANS_TABLES。(。

      为避免这种插入的无效日期󿼌应该改为:-- 确保使用严格的模式和日期模式。ENGINE。(。NO_AUTO_CREATE_USER。 ,'TooLongName')。(。,MySQL 8.0 #xff0没有太大变化c;但。1。(。

      2. Demo解释。VALUES。CREATE。AS。(。'date_field' at。

      标识符࿰双引号c;而不是字符串。=NON_EXISTENT_ENGINE。 employees。(。
    • 2.4 NO_ENGINE_SUBSTITUTION。 sql_mode。DATE。INT。(。 avg_salary。CREATE。name。;-- 试着插入无效日期。SELECT。INT。VARCHAR。
      默认 SQL_MODE 包括:ONLY_FULL_GROUP_BY, STRICT_TRANS_TABLES, NO_ZERO_IN_DATE, NO_ZERO_DATE, ERROR_FOR_DIVISION_BY_ZERO, NO_AUTO_CREATE_USER, and NO_ENGINE_SUBSTITUTION。

      常见的 SQL_MODE 设置和示例󿀌帮助理解它的影响。

      模式下,如果插入的数据有问题(如超过字段长度或类型不匹配),MySQL 会报错并回滚事务。=

      only_full_group_by。1292。, date_field。SET。

      对于基本命令行和优化推荐阅读:

      1. 添加和删除数据库中常用语法语句的#xff08;全)
      2. Mysql优化高级文件(全)

      1. 基本知识。, date_field。-- 设置 SQL_MODE 为 ANSI_QUOTES。50。-- 设置 SQL_MODE 为 NO_ZERO_IN_DATE, NO_ZERO_DATE。SET。

    • MySQL 8.0。]。GROUP。INTO。with。

      2.4 NO_ENGINE_SUBSTITUTION。 sql_mode。,'2020-00-00')。

    前言。INSERT。

    1。

    与日期相关的模式:STRICT_TRANS_TABLES。

    在这里插入图片描述

    截图如下::

    ONLY__FULL_GROUP_BY 模式。