Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/275.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
Php 得到的MySQL错误似乎与我正在做的事情无关_Php_Mysql - Fatal编程技术网

Php 得到的MySQL错误似乎与我正在做的事情无关

Php 得到的MySQL错误似乎与我正在做的事情无关,php,mysql,Php,Mysql,我用PHP编写了这个MySQL查询: $insert_suggested_solution_comment = "insert into suggested_solution_comments (problem_id , commenter_id, comment, solution_part , date , guid) values ( ".$problem_id." , ".$member_id." , '".$comment."' , ".$recent_topic_id.", NO

我用PHP编写了这个MySQL查询:

$insert_suggested_solution_comment = "insert into suggested_solution_comments 
(problem_id , commenter_id, comment, solution_part , date , guid) values ( ".$problem_id." ,  ".$member_id." , '".$comment."' , ".$recent_topic_id.",
NOW() , '".$md5c."' )" ;
但我得到的错误是:

Field 'suggested_solution_id' doesn't have a default value
但这怎么可能呢?:)我从未在查询中引用建议的\u解决方案\u id

我检查了三次,是的,这个错误确实来自这个查询。有人知道为什么会这样吗

这是表格的外观:

mysql> describe suggested_solution_comments;
+-----------------------+----------------+------+-----+---------+----------------+
| Field                 | Type           | Null | Key | Default | Extra          |
+-----------------------+----------------+------+-----+---------+----------------+
| comment_id            | int(10)        | NO   | PRI | NULL    | auto_increment |
| problem_id            | int(10)        | NO   |     | NULL    |                |
| suggested_solution_id | int(10)        | NO   |     | NULL    |                |
| commenter_id          | int(10)        | NO   |     | NULL    |                |
| comment               | varchar(10000) | YES  |     | NULL    |                |
| solution_part         | int(3)         | NO   |     | NULL    |                |
| date                  | date           | NO   |     | NULL    |                |
| guid                  | varchar(50)    | YES  | UNI | NULL    |                |
+-----------------------+----------------+------+-----+---------+----------------+

谢谢

这正是问题所在-您没有参考
建议的解决方案\u id


建议的\u解决方案\u id
具有
非空
约束,并且没有默认值。在查询中,您创建了一行,但没有为其指定值。MySQL不能将
NULL
放入其中-因为它是
notnull
字段-而且它不能给它一个默认值-因为它没有默认值-因此它会抱怨。

这正是问题所在-您没有引用
建议的解决方案\u id


建议的\u解决方案\u id
具有
非空
约束,并且没有默认值。在查询中,您创建了一行,但没有为其指定值。MySQL不能将
NULL
放入其中-因为它是一个
notnull
字段-它不能给它一个默认值-因为它没有默认值-因此它会抱怨。

看起来建议的解决方案id是主键(显然不是NULL),它可能不是一个自动增量字段。因此,您没有向该字段插入值(该字段需要一个值)


如果不是这样的话,试试这个。

看起来建议的解决方案id是主键(显然不是空的),它可能不是一个自动递增字段。因此,您没有向该字段插入值(该字段需要一个值)


如果不是这样的话,试试这个。

建议的解决方案id是非空字段吗?@JeroenJK我刚刚添加了表的描述。这有帮助吗?您的表清楚地说明了问题,大多数字段不能是
NULL
,但所有字段的默认值都是
NULL
。如果你不发送一个值,那是行不通的。只需将默认值设置为
0
(或类似值),或允许字段为
NULL
。所有
NULL=NO
的字段都必须包含某些内容。如果它具有
自动增量
,它将始终具有值,但
建议的解决方案id
没有该值。如果希望该列可以为空,
Null
应为
YES
。否则,在插入行时应始终为其指定一个值---
notnull
意味着一个字段不能为
NULL
(空)--你知道这是否是旧版本MySQL不会给出的一种新错误吗?我刚刚更新了我的MySQL,这就开始发生了。“建议的解决方案\u id”是否为非空字段?@JeroenJK我刚刚添加了表的描述。这有帮助吗?您的表清楚地说明了问题,大多数字段不能是
NULL
,但所有字段的默认值都是
NULL
。如果你不发送一个值,那是行不通的。只需将默认值设置为
0
(或类似值),或允许字段为
NULL
。所有
NULL=NO
的字段都必须包含某些内容。如果它具有
自动增量
,它将始终具有值,但
建议的解决方案id
没有该值。如果希望该列可以为空,
Null
应为
YES
。否则,在插入行时应始终为其指定一个值---
notnull
意味着一个字段不能为
NULL
(空)--你知道这是否是旧版本MySQL不会给出的一种新错误吗?我刚刚更新了我的MySQL,这就开始发生了。你知道这是否是一种新的错误,旧版本的MySQL不会出现这种错误吗?我刚刚更新了我的MySQL,这就开始发生了。你知道这是否是一种新的错误,旧版本的MySQL不会出现这种错误吗?我刚刚更新了我的MySQL,这就开始发生了。你知道这是否是一种新的错误,旧版本的MySQL不会出现这种错误吗?我刚刚更新了我的MySQL,这就开始发生了。你知道这是否是一种新的错误,旧版本的MySQL不会出现这种错误吗?我刚刚更新了MySQL,这一切就开始发生了。