Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/57.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
mysql字段';col1&x27;不';没有默认值_Mysql - Fatal编程技术网

mysql字段';col1&x27;不';没有默认值

mysql字段';col1&x27;不';没有默认值,mysql,Mysql,我的db模式定义如下 CREATE TABLE `ATestTable` ( id bigint(20) NOT NULL AUTO_INCREMENT, refId varchar(32) NOT NULL, col1 text COLLATE utf8_unicode_ci NOT NULL, PRIMARY KEY (`id`), UNIQUE KEY `unique_keyy_refId` (`refId`) ) ENGINE=InnoDB AUT

我的db模式定义如下

CREATE TABLE `ATestTable` (
    id bigint(20) NOT NULL AUTO_INCREMENT,
    refId varchar(32) NOT NULL,
    col1 text COLLATE utf8_unicode_ci NOT NULL,
    PRIMARY KEY (`id`),
    UNIQUE KEY `unique_keyy_refId` (`refId`)
) ENGINE=InnoDB AUTO_INCREMENT=123 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
当我有这样的事情

Insert into ATestTable (refId, col1) Values ('abc', 'def');
我发现错误
字段“col1”没有默认值
。我在网上搜索过,如果没有为此NOTNULL列指定值,则会发生此错误。但我确实指定了值。我甚至在我的本地数据库上尝试了相同的插入脚本,而且效果很好。那么,这是一个数据库服务器配置的事情吗


我运行
show变量,如“%sql\u mode%”
,但不起作用的变量是
NO\u ENGINE\u SUBSTITUTION
。我的本地数据库(有效)只给我
完整的分组依据,严格的转换表,没有输入日期,没有输入日期,错误,没有自动创建用户,没有引擎替换

有两件事你可以尝试,另一件是解决你的问题

1) 通过运行此查询,可以更改sql模式以匹配本地db模式

    SET GLOBAL sql_mode = 'modes';  
以逗号分隔的模式。请注意,只有在您拥有管理权限的情况下,此操作才有效。如果不使用

    SET SESSION sql_mode = 'modes'; 
这将只影响当前客户端

2) 为Col1设置一个默认值(例如:空文本),触发器将无论如何更新该值

   CREATE TABLE `ATestTable` (
   id bigint(20) NOT NULL AUTO_INCREMENT,
   refId varchar(32) NOT NULL,
   col1 text COLLATE utf8_unicode_ci DEFAULT ' ' not.  
   NULL,
   PRIMARY KEY (`id`),
   UNIQUE KEY `unique_keyy_refId` (`refId`)
   ) ENGINE=InnoDB AUTO_INCREMENT=123 DEFAULT.    
   CHARSET=utf8 COLLATE=utf8_unicode_ci;

错误不可能来自那一行。您必须有其他正在插入的内容,但没有为
col1
提供值。您是否在插入此表的此表或其他表上有触发器?@Nick,请您对答案发表意见。所以我可以接受。@Laodao我很高兴解决了你的问题,但是我可能没有足够的信息可以提供给其他用户。谢谢你的提议。