[解決済み] <TABLE> のテーブルストレージエンジンには、order by クエリでこのオプションがありません (ERROR 1031)。
2022-02-13 09:18:32
質問
<ブロッククオートTABLE>用のテーブルストレージエンジンには、このオプションがありません。
これは、MySQL が
order by
クエリを実行します。カラムの型は
varchar(2000)
.
クエリを実行します。
select * from `dbo.table_1` order by textT;
エラーが返ってきました。
エラー 1031 (hy000)。dbo.table_1' のテーブルストレージエンジンには、このオプションがありません。
なぜこのようなことが起こるのでしょうか?また、どうすれば直るのでしょうか?
解決方法は?
この問題は、MyISAM で作成され、後に InnoDB に変更されたテーブル定義をインポートするときに発生するようです。
ROW_FORMAT
オプションが無効であるように見える。
エクスポートしたデータベースをインポートしようとしてこの問題に遭遇した場合、単純に検索と置換を行うことができます。
ROW_FORMAT=FIXED
を何もしないでください。
を使うと、本当にすぐにできました。
sed -ie 's/ROW_FORMAT=FIXED//g' backup.sql
問題解決 ROW_FORMATが問題であることを指摘してくれたjbrahyに感謝します。
EDIT: @seven の提案により、より多くのプラットフォームで動作するように更新しました。
EDIT2: また、@Steen-Schütt の言うように、これはより安全な修正かもしれないことに注意してください。
sed -ie 's/ROW_FORMAT=FIXED/ROW_FORMAT=COMPACT/g' backup.sql
関連
-
[解決済み】MySQL エラー 1093 - FROM 句で更新のターゲット テーブルを指定できません。
-
[解決済み】MySQLエラー1264:カラムの範囲外の値
-
[解決済み】Fatal error: mysqldをrootで実行する方法は、マニュアルの「セキュリティ」セクションをお読みください。
-
[解決済み] MySQL エラー: キーの長さがないキー指定
-
[解決済み] MySQL でネストされたトランザクションは可能ですか?
-
[解決済み] 最初の行への結合方法
-
[解決済み] SQL Serverでレコードを削除した後、IDシードをリセットする。
-
[解決済み] MySql でクエリ実行時に only_full_group_by に関連するエラーが発生する。
-
[解決済み] INTからVARCHARへの変換 SQL
-
[解決済み】FROM句で更新対象のテーブルを指定できない
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】#1273 - 不明な照合順序:'utf8mb4_unicode_520_ci'
-
[解決済み】SQL文が動作しない-「オペランド型の衝突:dateはintと互換性がない」。
-
[解決済み】MySQLの「ロックを取得しようとしたときにデッドロックが見つかりました。トランザクションを再起動してみてください」を回避する方法
-
[解決済み】mysqladmin: 'localhost'でのサーバーへの接続に失敗しました。
-
[解決済み] ONLY_FULL_GROUP_BYの無効化
-
[解決済み] JDBC経由でMySQLにUTF-8を挿入しようとすると、"不正な文字列値 "と表示される?
-
[解決済み] MySQLのエラーコードです。MySQL WorkbenchでUPDATE中に1175が発生する
-
[解決済み] WindowsでMySQLの画面コンソールをクリアする方法は?
-
[解決済み] mysqlのテーブルからユニークキーを削除する方法
-
[解決済み] mysql サーバーがクラッシュした -mysqld got signal 6