mysql - 如何从 mysql 的 sql_mode 中删除 NO_ZERO_DATE?

标签 mysql sql

我需要删除 NO_ZERO_DATE全局来自 sql_mode .

删除它时是否可以保留任何默认值?

类似于伪代码:my.cnf :

sql_mode = $sql_mode(regex.replace(NO_ZERO_DATE, '');

优点是我不会在 mysql 的 future 版本中覆盖默认机会的默认值。 .

最佳答案

SET @@sql_mode := REPLACE(@@sql_mode, 'NO_ZERO_DATE', '');

fiddle

如果需要,您可以将 session 模式存储在变量中并在查询后恢复:
SET @@sql_mode := REPLACE(@old_sql_mode := @@sql_mode, 'NO_ZERO_DATE', '');
-- execute your queries
SET @@sql_mode := @old_sql_mode;

关于mysql - 如何从 mysql 的 sql_mode 中删除 NO_ZERO_DATE?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60186508/

相关文章:

mysql - MySQL 中的大搜索和替换

使用正则表达式提取 Mysql 文本

sql - TSQL:获取最后运行的查询

sql - 如何使用更长的唯一索引创建主键?

mysql - 对 3 个表进行 SQL 查询(计数)

php - CodeIgniter:获取当前时间在 tbl_from_time 和 tbl_to_time 之间的数据

mysql - 找不到 MySQL -- 尝试从命令行访问 MySQL 时出现 "command not found"错误

SQL字符串添加问题

mysql加入另一个表中定义的表

sql - 如何使用单个命令有选择地[双]插入(T-SQL)?