“随机”SQL错误 - 一般1030,来自存储引擎的-1

时间:2013-03-20 14:58:39

标签: mysql pdo

完整错误:

Fatal Error: Uncaught exception 'PDOException' with message 
'SQLSTATE[HY000]: General error -1 from storage engine'
in C:\MyApacheDir\MyPHPFile.php:33

第33行是我的PDO准备声明的->execute()。这种行为并不总是发生;执行完全相同的操作时,可能不会发生。

我的查询:

// Make new permissions
$sql = "INSERT INTO permissions (
      doc_id,
      user_id,
      write_access 
    ) VALUES (
      :doc_id,
      :user_id,
      :write_access
    );";
$stmt = $dbConn->prepare($sql);

ForEach ($permitArr as $permit) {
  $stmt->bindValue(":doc_id", $_POST['doc_id'], PDO::PARAM_INT);
  $stmt->bindValue(":user_id", $permit[0], PDO::PARAM_INT);
  $stmt->bindValue(":write_access", $permit[1], PDO::PARAM_INT);
  $stmt->execute();
}

其中permitArr包含Array[index][info]形式的权限数组,其中[info]分别为0或1,对应于用户和访问级别。

如上所述,这种错误有时只会发生;完全相同的查询的其他迭代(字面上,传递相同的信息)工作正常。

有人知道-1错误代码是由什么引起的吗?也许它只是低劣的搜索技能,但我无法在任何地方找到它。

我正在使用IE8中的MySQL 5.6处理Apache 2.2本地主机。

1 个答案:

答案 0 :(得分:1)

似乎很可疑。我无法找到该号码的错误,因此通常意味着有一个外部因素在起作用。我会尝试以下方法:

1。)创建一个新表并尝试新表上的代码。

2。)使用新表创建一个新模式并再次尝试代码。

3.。)在您的驱动器上运行chkdsk以确保没有任何群集问题。

4。)重启。