SQL_MODE 和 TIME_ZONE 创建数据库时
SQL_MODE and TIME_ZONE when creating DATABASE
这些选项是什么意思,创建数据库时有哪些可能的选择?
SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
SET time_zone = "+00:00";
#------------------------------------------------------------
# Script MySQL.
#------------------------------------------------------------
DROP DATABASE if exists BASETEST;
CREATE DATABASE IF NOT EXISTS BASETEST DEFAULT CHARACTER SET UTF8 COLLATE UTF8_GENERAL_CI;
USE BASETEST;
SET
设置了 MySQL 个变量之一。其中一些是系统变量,一些是用户变量...
设置SQL_MODE:
SQL_MODE是一个系统变量,你可以在文档中看到所有可能的模式。
NO_AUTO_VALUE_ON_ZERO
:
NO_AUTO_VALUE_ON_ZERO
affects handling of AUTO_INCREMENT columns. Normally, you generate the next sequence number for the column by inserting either NULL or 0 into it. NO_AUTO_VALUE_ON_ZERO
suppresses this behavior for 0 so that only NULL generates the next sequence number.
设置time_zone:
SET time_zone = "+00:00"
在 UTC.
上设置会话时区
阅读更多:How do I set the time zone of MySQL?
to assign values to variables that affect the operation of the server or clients
语句和变量都不是特定于数据库创建的。事实上,我不认为它们应该有任何明显的效果:
- 您不能在每个数据库的基础上配置
AUTO_INCREMENT
处理(仅每个服务器或每个会话)。
- 数据库没有时区(服务器或当前会话有)。
虽然生成 SQL 转储的工具会设置一些变量来配置会话并为 运行 命令获取可预测的环境,但这很常见。此类变量往往来自模板,未针对脚本内容进行自定义。
这些选项是什么意思,创建数据库时有哪些可能的选择?
SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
SET time_zone = "+00:00";
#------------------------------------------------------------
# Script MySQL.
#------------------------------------------------------------
DROP DATABASE if exists BASETEST;
CREATE DATABASE IF NOT EXISTS BASETEST DEFAULT CHARACTER SET UTF8 COLLATE UTF8_GENERAL_CI;
USE BASETEST;
SET
设置了 MySQL 个变量之一。其中一些是系统变量,一些是用户变量...
设置SQL_MODE:
SQL_MODE是一个系统变量,你可以在文档中看到所有可能的模式。
NO_AUTO_VALUE_ON_ZERO
:
NO_AUTO_VALUE_ON_ZERO
affects handling of AUTO_INCREMENT columns. Normally, you generate the next sequence number for the column by inserting either NULL or 0 into it.NO_AUTO_VALUE_ON_ZERO
suppresses this behavior for 0 so that only NULL generates the next sequence number.
设置time_zone:
SET time_zone = "+00:00"
在 UTC.
阅读更多:How do I set the time zone of MySQL?
to assign values to variables that affect the operation of the server or clients
语句和变量都不是特定于数据库创建的。事实上,我不认为它们应该有任何明显的效果:
- 您不能在每个数据库的基础上配置
AUTO_INCREMENT
处理(仅每个服务器或每个会话)。 - 数据库没有时区(服务器或当前会话有)。
虽然生成 SQL 转储的工具会设置一些变量来配置会话并为 运行 命令获取可预测的环境,但这很常见。此类变量往往来自模板,未针对脚本内容进行自定义。