MySQL 建表时 date 类型的默认值设置
mysql 设置 类型 Date 默认值
2023-09-27 14:23:43 时间
在执行下面 SQL 语句时发现报错
CREATE TABLE `jc_site_access_pages` ( `access_date` date NOT NULL DEFAULT '0000-00-00' COMMENT '访问日期', `access_time` time NOT NULL COMMENT '访问时间', ) ENGINE=InnoDB AUTO_INCREMENT=25 DEFAULT CHARSET=utf8 COMMENT='访问详细页面表';
报的错误是时间的默认值有错误,查阅后发现 MySQL 5.7 版本开始有了一个 STRICT MODE(严格模式),此模式中对默认值做了一些限制。
解决方法就是修改 sql_mode
-- 查看当前 select @@sql_mode; -- 去掉 NO_ZERO_IN_DATE 和 NO_ZERO_DATE set @@sql_mode=(select replace(@@sql_mode,'NO_ZERO_IN_DATE,NO_ZERO_DATE','')); -- 查看全局 select @@global.sql_mode; set @@global.sql_mode=(select replace(@@global.sql_mode,'NO_ZERO_IN_DATE,NO_ZERO_DATE',''));
设置完成后重新连接 MySQL 即可
相关文章
- 1024程序员节|【MySQL从入门到精通】【高级篇】(二十七)外连接和内连接如何进行查询优化呢?join的原理了解一波
- 【MySQL从入门到精通】【高级篇】(二十六)建了索引就能用么?我看未必。来看看几种索引失效的情况吧
- (转载)mysql:设置mysql的远程访问
- Confluence 6 MySQL 数据库设置准备
- mysql优化(11)
- navicat for mysql 如何设置字段唯一
- 关于mysql备份说明
- mysql中没有自增主键查询时自动设置
- mysql表大字段最大长度限制设置
- Entity Framework with MySQL 学习笔记一(insert,update,delete)
- MySQL 连接数设置操作(Too many connections)及设置md5值的加密密码
- 一些 Mysql 维护命令
- Mac mysql 设置开机自启动
- MySql折腾小记二:text/blog类型不允许设置默认值,不允许存在两个CURRENT_TIMESTAMP
- mysql数据实时同步到Elasticsearch
- mysql:insert插入数据过慢如何解决,设置innodb_flush_log_at_trx_commit为0就能解决
- MySQL中innodb_flush_log_at_trx_commit的设置
- mysql中tinyint、smallint、mediumint,int 和bigint 的区别
- MySQL表名不区分大小写的设置方法
- 在Mac下配置php开发环境:Apache+php+MySql (卡在 给mysql 设置不了账号密码)
- mysql的sql_mode设置
- MySQL中,为什么要设置NOT NULL?
- mysql无法应用安全设置的解决方法
- 2023-03-02 mysql-innodb-share锁-分析
- 2022-11-18 mysql列存储引擎-assert failed on i < m_idx.size() at rc_attr.h:342-问题分析
- mysql 硬件环境优化
- 【MYSQL百炼成圣】金刚不坏篇——事件(定时器)和触发器
- [ 数据库 ] MySQL 入门到放弃(六) --- 事务
- MySQL JDBC编程
- Mysql设置binlog过期时间并自动删除
- mysql参数之innodb_buffer_pool_size大小设置