这是表结构
CREATE TABLE IF NOT EXISTS `result` (
`res_id` int(11) NOT NULL AUTO_INCREMENT,
`s_id` int(10) NOT NULL,
`i_id` int(6) NOT NULL,
`r_status` text NOT NULL,
`r_score` decimal(6,0) NOT NULL,
PRIMARY KEY (`res_id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=2 ;
我已经搜索了一个解决方案,并在不同的场合尝试过,从头开始构建表,删除并导入它,检查索引。如您所见,我已将 id 重命名为 res_id,但是当我在浏览器上运行它时,错误仍然显示 r_id。
如果有区别,当 id 未设置为自动递增时,会弹出相同的错误。
这是我要插入数据库的页面的代码片段。
//retrieve existing r_id
$sql_res = "SELECT res_id FROM result ORDER BY res_id DESC LIMIT 1";
$query_res = mysql_query($sql_res) or die("MySQL Error: " . mysql_error());
$data_res = mysql_fetch_assoc($query_res);
$resid_count = $data_res['res_id']+1;
//echo "<br>Result: " . $resid_count;
// insert result to table
$sql_result = "INSERT INTO result (res_id, r_score, s_id, i_id) VALUES ('" . $resid_count . "', '" . $correct . "', '" . $id . "', '" . $ins_id . "')";
mysql_query($sql_result) or die ("Error: " . mysql_error());
编辑:我按照你们的建议更改了代码。从 INSERT 中取出 res_id。它仍然说r_id的重复条目。我继续进行试验和错误,并创建了另一个具有相同结构的表'score'来替换'result'。想知道相同的表名是否给它带来了问题(多次运行页面会导致这种情况吗?)。与分数表相同的结果。
任何帮助将不胜感激。我被困在这里,无法继续我的项目。谢谢。
阿提卡