17

SQLyog を使用してテーブルを作成しました。値を挿入すると、次のエラー メッセージが表示されます。

Operation not allowed when innodb_forced_recovery > 0.

私のテーブルは、1 つの主キーを含む 4 つの列のみで構成されています。以下は、私の作成および挿入クエリです。

CREATE TABLE `news` (
  `id` int(10) NOT NULL AUTO_INCREMENT,
  `title` varchar(100) NOT NULL,
  `slug` varchar(100) NOT NULL,
  `descr` varchar(100) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=latin1

insert into `test`.`news` (`title`, `slug`, `descr`)
 values ('titleOne', 'slugOne', 'descOne')
4

2 に答える 2

19

このエラーは、MySQL が読み取り専用モードの場合に発生します。

ファイルを編集します/etc/my.cnf

そして、次の行をコメントアウトします

# innodb_force_recovery = 1

どうやら、この設定により innodb が読み取り専用になるようです。共有ホスティングで /etc/my.cnf にアクセスできない場合は、ホストに修正を依頼してください。コメントアウトされているか、/etc/my.cnf に存在しない場合、. に戻りますdefault setting of 0

于 2016-01-29T20:28:50.113 に答える
1

これは私にも起こりますが、私がしたことは、テーブルの作成中に SQL エンジンを InnoDB から MyISAM に変更することでした。

したがって、データベースがあり、それをアップロードする場合は、任意のエディターで開き、各テーブルの最後にあるエンジンを innoDB から MyISAM に変更します。

これで問題は解決しました。

于 2016-12-12T12:19:57.807 に答える