問題タブ [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.
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 が発生します。
mysql - MySQL 外部キーから別の外部キーへ
アイデアは非常に単純です。3 つ (またはそれ以上) のテーブルがあります。
今私が欲しいのは、 tbl3.id が tbl2.id を指し、 tbl2.id が master_tbl.id を指すなどの外部キー関係です-すべての外部キーはON UPDATE CASCADE
andON 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
mysql - MySQLは削除されたInnoDBテーブルを「記憶」します
特定のデータベースに特定のテーブルを再作成しようとすると、MySQLは私に悲しみを与えます。問題は、MySQLのどこかにテーブルの外部キーのレコードがあり、テーブルを再作成しようとすると制約をチェックし続けることだと思います。
問題のデータベースはテスト環境用であり、prod DBをダンプし、テストDBを削除し、テストDBを再作成してから、prodDBダンプを新しいテストDBに適用することで定期的に更新されます。
しかし、昨夜この手順を実行したときに、突然MySQLのerrno:121に遭遇しました。これは通常、誤った外部キーに関連しています...キーを指定せずに別のテーブル定義を試してみると、errno:150になります。代わりは。ただし、これは、古いデータベースとまったく同じ名前の新しいデータベースにダンプを適用しようとした場合にのみ発生します。古いデータベースとは異なる名前のデータベースを(同じサーバー上に)作成してダンプを適用しても、問題はありません。
実際、まったく新しいデータベースであっても、キーがまったくない状態でまったく同じ名前のテーブルを作成することすらできません。
この例は問題を示しています
私はすでにtest_dbデータベースを削除しました。これにより、すべてのテーブルとすべてのレコードが削除されます。次に、それを作成して接続し、古いテーブルclient_feed_groupを作成してみます。エラーが発生します。別の名前で別のデータベースを作成し、同じ手順に従います。今回は問題ありません。
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 の内部ストレージ タイプが変更され、古いテーブルのそのような列は新しいテーブルのそのような列によって参照されないことに注意してください。
私はどこで間違っていますか?
java - 外部キーのエラー
Javaプログラム内でのmySQLテーブルの作成に問題があります。私は常にテーブルを作成できません...errno:150
これが私のコードです:
外部キーを作成するための多くのチュートリアルをグーグルで検索しましたが、まだ問題があります。だから私は何を間違っているのですか?
mysql - テーブルを変更しようとしたときにエラー150が発生しました
私はこのSQL句を持っています:
しかし、私はこのエラーを取得しています:
エラークエリSQL:
ALTER TABLE
sedi_i18n
ADD CONSTRAINTsedi_i18n_FK_1
FOREIGN KEY(id
)REFERENCESsedi
(id
)ON DELETE CASCADE、ADD CONSTRAINTsedi_i18n_FK_2
FOREIGN KEY(culture
)REFERENCESculture
(code
)、ADD CONSTRAINTsedi_i18n_FK_3
FOREIGN KEY(nation
)REFERENCESnations
(iso_code_2
);Messaggio di MySQL:
1005-テーブルを作成できません'test_javier_4。#sql-528_aed'(errno:150)
何か案が?
よろしく
ジャビ
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
sql - この MySQL Create Table ステートメントが失敗するのはなぜですか?
mySQLAdmin ツールを使用して、テーブルを作成しようとしました。ツールは SQL ステートメントを生成し、「テーブルを作成できません」を再表示しますが、それがどのようなエラーであるかについての手がかりはありません。
ここにあります :
誰か助けてくれませんか?
mysql - SQL-エラー番号121のエラーコード1005
MySQL Workbenchによって自動的に生成された次のMySQLスクリプト(トリミング)を実行していますが、次のエラーが発生します:
エラーコード:1005テーブル'regula.reservation'を作成できません(errno:121)
私はデータベースにあまり精通しておらず、このエラーはあまり有益ではありません。
ここでの問題は何ですか?
sql - テーブルを作成できません。errno: 150
テーブルを作成するためのこれらのクエリの何が悪いのでしょうか?
SQL ワークベンチでは問題ありませんが、maven-sql-plugin を使用すると、candidate_history_has_candidate_changes テーブルの作成に失敗しました。すべての名前は 64 記号未満です。助けてください!