問題タブ [mysql-error-1452]
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 で ERROR 1701、ERROR 1452、および ERROR 1305 エラーが発生する - 専門知識が必要
これは、第 3 正規形でデータベースを作成する最初の真のクラックです。DDL スクリプトを正常に作成できました (先に進んでスクリプトを作成する前に、論理モデルを 3NF に対して検証しました) が、修正できるかどうかわからないエラーが大量に発生します。この特定のケースでは噛むことができないほど噛んでしまったかもしれませんが、あきらめたくありません。これは私にとって大きな学習曲線であり、いくつかの助けがあれば、これを乗り越えて先に進むことができます.
まず、私の DDL スクリプトは次のとおりです。
そして、これが私の DML スクリプトです (注: これまでのところ、スクリプトは「人」、「学校」、および「プレーヤー」の詳細にレコードを挿入しようとするだけです。これまでに遭遇した問題が修正された場合、これは私を助けることができます後で..):
次に、2 つのスクリプトから生成された MySQL コマンド ライン インターフェイスの出力を示します。エラーに関する詳細情報が表示されます。
そして、これが論理モデルです (誰かが何らかの関係、特に多対多の関係に問題がある場合は、私に知らせてください)。
情報が多すぎて申し訳ありませんが、これだけの情報を提供すれば、私を助けたいと思っている人が簡単になると思いました. 私は DDL スクリプトの調整に 3 時間ほど費やしましたが、長い時間を費やした後、より経験豊富な人に助けてもらう必要があることに気付きました。データベース業界の経験を持つ人に論理モデルを見せたところ、彼らはそれが 3NF に準拠していると信じています。概念モデルと論理モデルを実行することは、私にとってそれほど悪くはありませんでした。論理モデルを実際のスクリプトに変換し、データを正常に挿入すること (テーブルごとに少なくとも 10 レコードを挿入したい) が最大のハードルになりました。
前もって感謝します!
mysql - 2 つのテーブルを作成し、最初に 2 番目の外部キーを作成しようとしましたが、機能しませんが、2 番目から作成すると取得できるのはなぜですか?
最初のテーブル 'A' は refid(主キー)、名前、性別、年齢、ステータスで構成されています 2 番目のテーブル 'b' は refid(主キー) と状態名で構成されています。動作しませんが、テーブル B から試してみると動作しました 1) テーブル A からアクセスできないのはなぜですか?
2) A からの参照と B からの参照の違いは何ですか?
「機能しない」とは、外部キーからエラーが発生することを意味します。
mysql - カスタム関数呼び出しによって発生した MySQL エラー #1451
すべてのテーブルをデータで埋めるために、多くの選択/更新を含む非常に大きな関数を作成しました。テーブルに入力しようとしましたが、関数を呼び出すときに #1452 エラーを受け取りました
エラーがどのように見えるか
データベースのレイアウトは次のようになります。
そして、テーブルを埋めるために使用している関数は次のようになります
そこにいるすべてのデータベースウィザードに、ご容赦ください。私はこのようなことに慣れていないので、機能が少し肥大化している可能性があります。
とにかく、いくつかの調査によると、親テーブルに存在しない行を指す外部キー列がある場合に上記のエラーが発生することがわかりました。奇妙な点は、テーブルがすべて空であることです。外部キー列が誤って独自のテーブルを指している場合にも発生する可能性がありますが、ここでもそうではありません(私が読んだ同様の問題を理解している限り)。
関数のスコープ内で (デバッグ目的で) SELECT CONCAT() を使用することは許可されていないため、エラーが発生する理由や場所はわかりませんが、 tunes.riddim_fk にデータを挿入する関数が処理されます。
また、riddim_id、genre_id など (親テーブルの ID) を PRIMARY KEY と AUTO_INCREMENT に設定すると、「NOT NULL」を指定していないにもかかわらず、phpMyAdmin はこれらの列に対して「NULL: no」と表示するようになりました。キーの1つが自動的に列をNOT NULLに設定していると思います。
IEにNULLを追加しているため、エラーが発生している可能性があります。関数パラメーター "riddim" が "" (空の文字列) に設定されている場合、riddim_fk 列は? 実際の関数テスト呼び出し (上記のように) とは異なり、空の文字列をパラメーターとして関数に渡さなかったと思います。
助けていただければ幸いです。
編集:タイプミス。
mysql - 子行を追加または更新できません: 外部キー制約が失敗します webERp
1and1 アカウントで WebERP を使用しています。データベースを別の 1and1 データベースに移行すると、次のエラーが表示されます: SQL クエリ:
MySQL は次のように述べています。
しかし、元のファイルは問題なく動作します。
mysql - MySQL-子行を追加または更新できません:外部キー制約が失敗します
これはよくある間違いのようですが、私の人生ではこれを理解することはできません。
MySQLに外部キーを介して結合された一連のInnoDBユーザーテーブルがあります。親user
テーブル、および電子メールアドレスやアクションなどを格納する子テーブルのセット。これらはすべてuser
、外部キーによって親テーブルに関連付けられておりuid
、すべての親キーと子キーはint(10)
です。
すべての子テーブルには、uid
を指す外部キー制約を持つ値がありuser.uid
、とに設定されON DELETE CASCADE
ますON UPDATE CASCADE
。
からユーザーを削除するuser
と、子の制約付きエントリがすべて削除されます。ただし、値を更新しようとすると、子テーブルへの変更をuser.uid
カスケードするのではなく、次のエラーが発生します。uid
ここで明らかな何かが欠けているに違いないと感じています。でキー制約を削除しuser_email
、の値を更新しようとするとuser
、同じエラーが発生しますが、次のアルファベットuser
の子テーブルが発生するため、テーブル固有のエラーではないと思います。
編集:
からの結果を追加しますSHOW ENGINE INNODB STATUS
:
mysql - MYSQL エラー 1452 を抑制
毎日の株式関連データを保持するように設計されたテーブルがあり、価格の日付はカレンダー テーブルへの外部キーです。カレンダー テーブルには、週末を含まないすべての有効な日付が一覧表示されます。20 年間の毎日の為替データを入手したところですが、少なくともいくつかの週末が含まれているようです。週末のレコードでエラー 1452 が発生することを知って (外部キー制約が失敗したことを示します) 、すべての挿入コマンドを含むスクリプトを作成しました。mysql はレコードを挿入しようとして失敗し、先に進むため、これで問題ありません。問題は、何千もの挿入エラーのすべてについて、エラー メッセージがコンソールにエコーされることです。この余分な stdout 印刷はすべて、最初の挿入スクリプトを大幅に遅くしています (わずか 1 年、少なくとも 10 分かかりました)。
このエラー メッセージを非表示にするにはどうすればよいですか? エラーメッセージが「重要なことを教えてくれている」とか、「注意を払う」とか「スクリプトをデバッグする」必要があるなどとは言わないでください。エラーが発生する理由を正確に知っており、単にそれを抑制したいだけです。
foreign-keys - heidisqlでmysqlに外部キーを追加しようとしています
heidisql を使用してテーブルに外部キーを追加しようとしましたが、エラー 1452 が発生し続けます。
読み回した後、すべてのテーブルが InnoDB で実行されていることを確認し、それらが同じデータ型であることを確認しました。キーを追加できる唯一の方法は、意図しないデータをすべて削除することです。これにかなりの時間を費やしました。
ここに私のテーブル作成コードがあります:
ここに表2があります
最後に、エラーとともに作成コードを示します。
私が提供できるものが他にある場合は、これが本当に私を悩ませていることをお知らせください. xamppインストーラーに付属の5.5.27 - MySQL Community Server (GPL) も使用しています。