创建数据库时的sql\模式和时区

ohfgkhjo  于 2021-06-20  发布在  Mysql
关注(0)|答案(2)|浏览(456)

这些选项意味着什么,在创建数据库时有哪些可能的选择?

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;
jslywgbw

jslywgbw1#

这个 SET 此处使用语句:
为影响服务器或客户端操作的变量赋值
语句和变量都不是特定于数据库创建的。事实上,我不认为他们应该有任何明显的影响:
无法配置 AUTO_INCREMENT 以每个数据库为基础进行处理(仅限于每个服务器或每个会话)。
数据库没有时区(服务器或当前会话没有)。
不过,生成sql转储的工具通常会设置一些变量来配置会话,并获得一个可预测的环境来运行命令。这些变量往往来自模板,而不是为脚本内容定制的。

mwyxok5s

mwyxok5s2#

SET set是mysql变量之一。有些是系统变量有些是用户变量。。。

设置sql\U模式:

sqlu模式是一个系统变量,您可以在文档中看到所有可能的模式。 NO_AUTO_VALUE_ON_ZERO : NO_AUTO_VALUE_ON_ZERO 影响自动增量列的处理。通常,通过在列中插入null或0来为列生成下一个序列号。 NO_AUTO_VALUE_ON_ZERO 禁止0的此行为,以便只有null生成下一个序列号。

设置时区: SET time_zone = "+00:00" 设置utc上的会话时区。

阅读更多:如何设置mysql的时区?

相关问题