問題タブ [mysql-error-1005]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
3 に答える
291 参照

mysql - 外部キーに関するmysqlの単純な問題

私は2つのテーブルを持っています:

テーブル作成者: ID (INTEGER)、author_name (VARCHAR)、first_name (VARCHAR)、last_name (VARCHAR)、preferred_name (VARCHAR)。

Table CoAuthored: ID (INTEGER) author1ID (INTEGER), author2ID (INTEGER), paper_ID (INTEGER) (このリンクで参照されている共著論文の ID)

CoAuthored の author1ID と author2ID が Author の ID を参照するように、外部キー制約を追加したいと考えています。テーブルを次のように定義しました。

これは、外部キーを作成する私の試みです:

これは問題なく実行されますが、ID に存在しない author1ID を含むタプルを追加しようとすると、それを実行できます。つまり、外部キー制約が機能していません。

他に何をする必要がありますか?create ステートメントで両方のテーブル ENGINE=INNODB を作成しようとしましたが、エラー 1005 can't create table が発生します。

0 投票する
1 に答える
402 参照

mysql - MySQL 外部キーから別の外部キーへ

アイデアは非常に単純です。3 つ (またはそれ以上) のテーブルがあります。

今私が欲しいのは、 tbl3.id が tbl2.id を指し、 tbl2.id が master_tbl.id を指すなどの外部キー関係です-すべての外部キーはON UPDATE CASCADEandON DELETE CASCADEです。これから得られることは、tbl2 からレコードを削除すると、tbl3 の同等のレコードも消去されますが、master_tbl は消去されないということです。master_tbl からレコードを削除すると、3 つのテーブルすべてが消去されます。

tbl3.id->tbl2.id で外部キーを作成しようとすると、mysql エラー 150 - テーブルを作成できません (tbl2.id->master_tbl.id は既に作成されています) が発生します。私のMySQLのバージョンは5.1.46. なぜこれが考えられるのでしょうか?

編集: テーブル定義 smf_members aka master_table

cyp_users 別名 tbl2

cyp_vip_users 別名 tbl3

0 投票する
1 に答える
1009 参照

mysql - MySQLは削除されたInnoDBテーブルを「記憶」します

特定のデータベースに特定のテーブルを再作成しようとすると、MySQLは私に悲しみを与えます。問題は、MySQLのどこかにテーブルの外部キーのレコードがあり、テーブルを再作成しようとすると制約をチェックし続けることだと思います。

問題のデータベースはテスト環境用であり、prod DBをダンプし、テストDBを削除し、テストDBを再作成してから、prodDBダンプを新しいテストDBに適用することで定期的に更新されます。

しかし、昨夜この手順を実行したときに、突然MySQLのerrno:121に遭遇しました。これは通常、誤った外部キーに関連しています...キーを指定せずに別のテーブル定義を試してみると、errno:150になります。代わりは。ただし、これは、古いデータベースとまったく同じ名前の新しいデータベースにダンプを適用しようとした場合にのみ発生します。古いデータベースとは異なる名前のデータベースを(同じサーバー上に)作成してダンプを適用しても、問題はありません。

実際、まったく新しいデータベースであっても、キーがまったくない状態でまったく同じ名前のテーブルを作成することすらできません。

この例は問題を示しています

私はすでにtest_dbデータベースを削除しました。これにより、すべてのテーブルとすべてのレコードが削除されます。次に、それを作成して接続し、古いテーブルclient_feed_groupを作成してみます。エラーが発生します。別の名前で別のデータベースを作成し、同じ手順に従います。今回は問題ありません。

0 投票する
17 に答える
103680 参照

mysql - MySQL 外部キー エラー 1005 errno 150 主キーを外部キーとして

MySQL Workbench で小さなデータベースを作成しています。「Immobili」と呼ばれるメイン テーブルがあります。このテーブルには、4 つの列 (Comune、Via、Civico、Immobile) で構成される主キーがあります。

同じ主キー (Comune、Via、Civico、Immobile) を持つ他の 3 つのテーブルもありますが、これらのフィールドも Immobili テーブルを参照しています。

最初の質問: 外部キーでもある主キーを作成できますか?

2 番目の質問: 変更をエクスポートしようとすると、次のように表示されます。

エンジン ステータスの表示:

テーブル dbimmobili/valutazionimercato の外部キー制約のエラー:

参照される列が最初の列として表示される参照されるテーブルにインデックスが見つからないか、テーブルの列の型と参照されるテーブルが制約に一致しません。>= InnoDB-4.1.12 で作成されたテーブルでは ENUM および SET の内部ストレージ タイプが変更され、古いテーブルのそのような列は新しいテーブルのそのような列によって参照されないことに注意してください。

私はどこで間違っていますか?

0 投票する
1 に答える
170 参照

java - 外部キーのエラー

Javaプログラム内でのmySQLテーブルの作成に問題があります。私は常にテーブルを作成できません...errno:150

これが私のコードです:

外部キーを作成するための多くのチュートリアルをグーグルで検索しましたが、まだ問題があります。だから私は何を間違っているのですか?

0 投票する
2 に答える
2080 参照

mysql - テーブルを変更しようとしたときにエラー150が発生しました

私はこのSQL句を持っています:

しかし、私はこのエラーを取得しています:

エラークエリSQL:

ALTER TABLE sedi_i18nADD CONSTRAINT sedi_i18n_FK_1FOREIGN KEY( id)REFERENCES sediid)ON DELETE CASCADE、ADD CONSTRAINT sedi_i18n_FK_2FOREIGN KEY( culture)REFERENCES culturecode)、ADD CONSTRAINT sedi_i18n_FK_3FOREIGN KEY( nation)REFERENCES nationsiso_code_2);

Messaggio di MySQL:

1005-テーブルを作成できません'test_javier_4。#sql-528_aed'(errno:150)

何か案が?

よろしく

ジャビ

0 投票する
2 に答える
2652 参照

mysql - InnoDB エンジンを使用してテーブルを作成するときの MySQL 1005 エラー

以下の定義でテーブルを作成しようとすると、

OperationalError発生します:

末尾の を削除すると機能しENGINE=InnoDBます。

この背後にある理由は何ですか?

MySQLのバージョンは mysql Ver 14.12 Distrib 5.0.84, for pc-linux-gnu (i686) using readline 5.2

0 投票する
3 に答える
87 参照

sql - この MySQL Create Table ステートメントが失敗するのはなぜですか?

mySQLAdmin ツールを使用して、テーブルを作成しようとしました。ツールは SQL ステートメントを生成し、「テーブルを作成できません」を再表示しますが、それがどのようなエラーであるかについての手がかりはありません。

ここにあります :

誰か助けてくれませんか?

0 投票する
3 に答える
23147 参照

mysql - SQL-エラー番号121のエラーコード1005

MySQL Workbenchによって自動的に生成された次のMySQLスクリプト(トリミング)を実行していますが、次のエラーが発生します:

エラーコード:1005テーブル'regula.reservation'を作成できません(errno:121)

私はデータベースにあまり精通しておらず、このエラーはあまり有益ではありません。
ここでの問題は何ですか?

0 投票する
3 に答える
283 参照

sql - テーブルを作成できません。errno: 150

テーブルを作成するためのこれらのクエリの何が悪いのでしょうか?

SQL ワークベンチでは問題ありませんが、maven-sql-plugin を使用すると、candidate_history_has_candidate_changes テーブルの作成に失敗しました。すべての名前は 64 記号未満です。助けてください!