私は web2py の外部キーに関する問題を抱えています。これに関するドキュメントが不足しているため、非常にイライラします。ほとんどのテーブルが関連しているさまざまなファイルでテーブルを定義します。以前は外部キーを示すために db.table_name を使用していましたが、「reference tbl_name」を使用するように言われました。ただし、これは何の違いもありません。web2py のアルファベット順のルールに従って、後のファイルで定義されたモデルに関するエラーが表示されます。テーブルを順番に並べることが実際には重要であるように思われ、参照キーワードの使用はせいぜい役に立たない. それとも、ここで何かが欠けていますか。
1 に答える
0
を使用していると思いますmysql
。このような場合はmysql
エラーです。mysql
エラー番号 150 (外部キー エラー) が発生します。したがって、これは問題ではなく、データベース バックエンドのweb2py
問題です。データベース サーバーのドキュメントを確認してください。私が問題を解決した方法は、最初に外部キーを必要としないすべてのプライマリ テーブルをdb.py
ファイルで宣言 ( db.define_table
) してから、外部キーを必要とするテーブルの宣言を続行することです (参照する前に外部テーブルが存在することを確認してください)。の異なるテーブルに個別のファイルを使用している場合models
フォルダーから、どのテーブルがプライマリであるかを調べ、最初にファイル名の前に数字を付けてそれらが作成されていることを確認し、テーブルの外部キーを参照する前に「外部」テーブルがデータベースに既に存在するようにします。
ただし、問題はないはずsqlite
です。
于 2012-12-17T07:26:35.787 に答える