数据库错误:无法在数据库中输出数据[密钥1的重复条目“0”]

时间:2013-04-24 13:19:24

标签: php sql database

我的朋友有这个问题:

preg_match_all("#<description>(.*?)</description>#s",$Rss,$message);  
$count = count($message[0]);
$message[0] = str_replace('<description><![CDATA[',' ',$message[0]);
$message[0] = str_replace('</description>]]>',' ',$message[0]);

for($i=0;$i<$count;$i++){    

$db->query("INSERT INTO ".prefix."topicmessage (message,forumid,catid) VALUES ('".$message[0][$i]."','".$MyRows['forumid']."','".forums('CATID',$MyRows['forumid'])."')",__file__,__line__);

}


但是他知道这个数据库错误:

DATABASE ERROR: can not output data in datebase [Duplicate entry '0' for key 1] in C:\AppServ\www\ala\Rss_Caller.php on line 57

如何解决?

2 个答案:

答案 0 :(得分:0)

这意味着您尝试将 0 作为键值插入数据库,这可能是主键,辅助键或唯一键约束

检查您要插入的主键的值,如果不是编程错误,请尝试更改您的AUTO_INCREMENT

希望这有帮助,不要犹豫,再问一些问题=)

答案 1 :(得分:0)

您有一个没有自动增量的主键字段,但您没有在查询中提供值。

可能类似于“topicmessageid”

所以在该字段中添加一个自动增量。