2

MySQL 5.1 の MyISAM テーブルの名前を からtest_tablenameに変更した後tablename、INSERT (または REPLACE) クエリを実行しようとすると、次のメッセージが表示されることがわかりました。

INSERT INTO tablename (...) VALUES (...)

1146: テーブル 'dbname.test_tablename' が存在しません

データベースの抽象化コードをトリプルチェックし、サーバーで直接クエリを実行してこれを確認しました。

MySQL サーバーによると、CREATE TABLE構文はtablename期待どおり であり、実行すると、期待どおりSHOW TABLESにリストtablenameされます。

これが起こる理由はありますか?

さらに重要なことは、テーブルをダンプ、ドロップ、再作成、およびリロードするよりも簡単にこれを修正する方法はありますか?

4

3 に答える 3

1

に名前を変更test_tablenameした場合tablename、次のことは当てはまりませんか?

1146: Table 'dbname.test_tablename' doesn't exist

ではなく、必ずtablenameクエリで使用してくださいtest_tablename

于 2010-12-24T20:42:27.710 に答える
1

これは、適切に更新されていないトリガーが原因である可能性があります。

于 2010-12-25T05:17:50.197 に答える
0

まだ参照しているビューに挿入していませんtest_tablenameか?

于 2010-12-24T20:49:54.303 に答える