STRICT_TRANS_TABLES(存储引擎启用严格模式,非法数据值被拒绝)。
MySQL 1364 错误提示:#1364 - Field "details" doesn't have a default value。大概意思是:details字段没有默认的数值;也就是说我们没有为其分配数值,而表中此字段也没有设置默认值。这是MySQL5出来后搞出来的东东,认真看一下my.ini文件中有这样一段:
my.ini中相关代码
# Set the SQL mode to strict # sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
假如您无法看到my.ini,你可以执行以下SQL命令。
SQL代码
SELECT @@GLOBAL.sql_mode;
您可能一下子就注意到:STRICT_TRANS_TABLES(存储引擎启用严格模式,非法数据值被拒绝)。这也就是为什么我们插入数据时返回1364的原因:details字段没有设置默认值。
解决办法有两种:
第一种:数据库设计时,为可能没有数据的字段设置默认值。
第二种:设置SQL的模式,此有两种方法:
(1),配置my.ini,去掉:STRICT_TRANS_TABLES
my.ini配置代码
# Set the SQL mode to strict # sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
sql-mode="NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
(2),运行SQL命令。注:此命令需要权限!
SQL代码
SET @@GLOBAL.sql_mode="NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION";
分享到:
相关推荐
存储引擎启用严格模式,非法数据值被拒绝 Create table t3(id int(4) primary key auto_increment,sname char(4)); 设置id自动增长 Create table t3(id int(4) primary key auto_increment,sname char(4)...
mysql5.0以上版本支持三种sql_mode:ANSI、TRADITIONAL和...STRICT_TRANS_TABLES模式:严格模式,进行数据的严格校验,错误数据不能插入,报error错误。 1、连接操作单数据库 django默认使用的是sqlite3数据库,settin
解压版mysql安装教程 my.ini配置文件 [mysqld] # 设置mysql的安装目录 basedir=D:/Program Files (x86)/...sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES skip-grant-tables default-storage-engine=INNODB
ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION 2、去掉ONLY_FULL_GROUP_BY,重新设置值。 set @@sql_mode ='...
set @@global.sql_mode='STRICT_TRANS_TABLES,NO_ZERO_DATE,NO_ENGINE_SUBSTITUTION'; set @@session.sql_mode='STRICT_TRANS_TABLES,NO_ZERO_DATE,NO_ENGINE_SUBSTITUTION'; 例子: 有一个用于记录日志的表 create...
Strict_欧美扁平化网页PSD模板美工UI.zip
Strict_企业网站PSD扁平化网页模板美工UI整站.zip
下载安装的是最新版的mysql5.7.x版本,默认是开启了 only_full_group_by 模式的,但开启这个模式后,原先的 group by 语句就报错,然后又把它移除了。 一旦开启 only_full_group_by ,感觉,group by 将变成和 ...
在您的包裹中启用严格模式 安装 用做 npm install strict-mode --save-dev NOTA BENE你可能要安装严格的模式作为发展的依赖,见。 用法 请注意,该软件包旨在用于服务器端。 如果与使用,则为 。 假设package.json...
根据 mysql5.0以上版本 strict mode (STRICT_TRANS_TABLES) 的限制: 1).不支持对not null字段插入null值 2).不支持对自增长字段插入”值,可插入null值 3).不支持 text 字段有默认值 看下面代码:(第一个字段为自增...
我的MySQL安装后,保存删除表数据总是出现#1929 Incorrect datetime value: ” for column ‘createtime’ 的报错提醒,导致不能删除表里数据; 原因分析: 5以上的版本如果时期时间是空值应该要写NULL; 官方解释说...
这儿记录一些在使用MySQL的过程中遇到的问题以及相应的解决办法。 sql_mode=only_full_group_by引起group by查询报错 问题 MySQL执行 GROUP BY 查询报错: #1 - Expression of SELECT list is not in GROUP BY ...
解决办法: 在my.ini里找到 sql-mode=”STRICT_TRANS_TABLES,NO_AUTO_Create_USER,NO_ENGINE_SUBSTITUTION” 把其中的STRICT_TRANS_TABLES,去掉, 或者把sql-mode=STRICT_TRANS_TABLES,NO_AUTO_Create_USER,NO_ENGINE_...
很长一段时间内,由于只有Firefox支持严格模式,我曾对严格模式表示怀疑。但到了今天,所有主流的浏览器都在他们的最新版本中支持了严格模式(包括IE10,Opera12和Android4,IOS5)是时候开始使用严格模式了。 严格模式能起...
前端开源库-strict-mode严格模式,在包中启用严格模式
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES symbolic-links=0 max_connections=800 max_connect_errors = 1000 innodb_file_per_table=1 lower_case_table_names=1 character_set_server=utf8 init_...
部署时请向数据库配置文件my.ini中[mysqld]中添加 sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES 配置,否则可能出现错误。 本科毕业设计基于PHP+MySQL的车辆管理系统源码+数据库.zip本科毕业设计项目-车队...
现象:MySQL5.7版本之后,date, datetime...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 其中NO_Z