問題タブ [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 投票する
2 に答える
3073 参照

mysql - テーブル追加時のMySQL「エラー1005」

私は最近、MySQL データベースを扱っており、MySQL ワークベンチを使用してデータベースを設計しています。

SQL関数へのエクスポートを使用すると、実際にデータベースにレイアウトを取得できるようになります。次のようになります。

「エラー 1005: テーブルを作成できません」

これは、create table ステートメントの外部キーに関連しているようです。

制約を取り除いて後で元に戻すことを伴わない、これに対する回避策はありますか? データベースのサイズを考えると、これは理想的なソリューションとは言えません。

0 投票する
10 に答える
41860 参照

mysql - MySQL で外部キーが機能しない: 外部列にない値を INSERT できるのはなぜですか?

MySQL でテーブルを作成しました。

これにより、必要なテーブルが正常に作成されました (ただし、「DESCRIBE actions;」コマンドを実行すると、外部キーが MUL 型のキーであることがわかりましたが、これが何を意味するのかわかりません)。ただし、質問テーブルまたはユーザー テーブルに存在しない Q_id または U_id を入力しようとすると、MySQL はこれらの値を許可します。

私は何を間違えましたか?外部キーを持つテーブルが無効なデータを受け入れないようにするにはどうすればよいですか?

更新 1

最後に追加TYPE=InnoDBすると、エラーが発生します。

エラー 1005 (HY000): テーブル './quotes/actions.frm' を作成できません (errno: 150)

なぜそれが起こるのでしょうか?

更新 2

機能的な外部キーを使用してデータの整合性を確保することが重要であると言われましたが、MySQL では InnoDB を使用しないでください。おすすめは何ですか?

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

mysql - INNODB カスケードの構文/論理の問題

作成中の SQL データベースに問題があります。INNODB を使用するように切り替えようとしていますが、カスケードの正しい構文 (またはおそらくロジック) を取得できないようです。

これは、コード エラーの一部です。40行目は好きじゃない。

通常の不可解な(少なくとも私にとっては)形式のエラー出力:

編集:

これが役立つ場合にパイプしようとしているSQL ファイル全体です。

0 投票する
5 に答える
2905 参照

mysql - テーブル作成時の MySQL エラー 1005

私のテーブル定義:

次のエラーが発生します。

これは何を意味するのでしょうか?

0 投票する
4 に答える
44750 参照

mysql - MySQL:FKエラーのあるテーブルの作成(errno 150)

MySQL Workbenchを使用してモデルを作成し、それをmysqlサーバーにインストールしようとしています。

[ファイル]>[エクスポート]>[フォワードエンジニアSQLCREATEスクリプト...]を使用すると、必要なすべての設定を含む、素敵な大きなファイルが出力されます。MySQL GUIツール(具体的にはクエリブラウザ)に切り替えて、このスクリプトをロードします(1つの公式MySQLツールから別のツールに移行することに注意してください)。ただし、実際にこのファイルを実行しようとすると、同じエラーが何度も発生します。

SQLSTATE [HY000]:一般エラー:1005テーブルを作成できません'./srs_dev/location.frm'(errno:150)

「OK」、私は自分自身に言います、ロケーションテーブルに何か問題があります。そこで、出力ファイルの定義を確認します。

私には大丈夫そうです。クエリブラウザに問題があるのではないかと思うので、このファイルをサーバーに置いて、この方法でロードしてみます

そして、私は同じエラーを受け取ります。そこで、この問題をグーグルで検索し、外部キーで失敗するInnoDBスタイルのテーブルのエラーについて話しているすべての種類のアカウントを見つけました。修正は「SETFOREIGN_KEY_CHECKS=0;」を追加することです。SQLスクリプトに。ご覧のとおり、これはすでにMySQLWorkbenchが出力したファイルの一部です。

それで、私の質問は、私がやるべきだと思うことをしているときに、なぜこれが機能しないのかということです。

バージョン情報:

  • MySQL:5.0.45

  • GUIツール:1.2.17
  • ワークベンチ:5.0.30
0 投票する
4 に答える
47337 参照

mysql - MySQL エラー番号 121

MySQLの作成でこのエラーが発生しています。私がやっている:

何か案は?エラー状態:Can't create table './xxxxxxxx/blogReply.frm' (errno: 121)

0 投票する
6 に答える
15879 参照

mysql - MySQL エラー 150、テーブルを作成できません

テーブルの作成に問題があり、何が問題なのかわかりません。phpMyAdmin は、PRIMARY KEY 宣言の横にエラー インジケーターを設定します...なぜこれが間違っているのかわかりません...

このテーブルは、別のテーブルと 1 対多の識別関係を持つ子テーブルです。

編集:これは、私が見つけることができるエラーコードに関するすべてのドキュメントです:リンク

EDIT2:写真が削除されました

EDIT3:

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

mysql - MySQL インデックス付きテーブルの作成エラー

わかりましたので、インデックスと外部キーを使用して MySQL にテーブルを作成しています。私は MySQL Workbench を使用してテーブルを作成し、それから SQL 作成スクリプトをフォワード エンジニアリングします (SQL コードをすぐに手動で書き出すよりも、視覚的な DB 環境の方が優れています)。

問題は、SQL スクリプトを mysql にインポートするときに何度も発生することです。古典的なエラーが発生します。

通常はインデックス/外部キーに関連する問題を毎回解決することができましたが、今では毎回修正する必要があることにイライラし始めています。何が問題なのかよくわかりません (特に、MySQL 製品が独自のデータベース用に SQL コードを作成している場合)。以下は、通常、問題の原因となるコードです。

エラーは通常、最初の INDEX 定義から発生します。インデックス定義を取り出しても、最初の外部キー制約定義でエラーが発生します。確認したところ、外部キーのリモート列とローカル列は同じデータ型とサイズです。

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

mysql - mysql (innodb) 外部キー制約の問題

MySql(Innodb) でテーブルの外部キーを生成しようとしているときに、いくつかの問題が発生しています。それらを手伝ってくれませんか?

参照テーブル:

対応するエンティティまたは対応するユーザーが削除されたときに C のエントリを削除する必要があるため、テーブル C に 2 つの外部キーが必要です。

テーブル CI を作成しようとすると、次のエラーが発生します: ERROR 1005: Can't create table (errno: 150)。これは、mysql 仕様に定められたルールを順守していないためだと思われます。 http://dev.mysql.com/doc/refman/5.4/en/innodb-foreign-key-constraints.html

仕様の以下の部分/ルールはどういう意味ですか?

「InnoDB では、外部キーのチェックが高速になり、テーブル スキャンが不要になるように、外部キーと参照キーのインデックスが必要です。参照テーブルには、外部キー列が最初の列として同じ順序でリストされているインデックスが必要です。 ."

テーブル C の外部キーは、エンティティ テーブルとユーザー テーブルの主キーに対応する必要があるということですか。エンティティ テーブルの ENTITYID が主キーの最初であり、ユーザー テーブルの NAME が主キーの最初である必要があります。つまり、主キーの宣言を次のように書き直す必要がありますか?

その場合、上記のようにキー宣言を並べ替えようとすると、エラー 1075 が発生します。

自動インクリメント キー (サロゲート キー) をインデックス順リストの 2 番目にして、仕様に準拠するにはどうすればよいですか?

ありがとうございました !

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

mysql - 外部キー制約の問題

エラー #1005 - テーブルを作成できません (errno: 150) が表示されます。

以下のチェックリストを確認しました。

  • 両方のテーブルが InnoDB です
  • 列が同じ型 (INT) である
  • 属性が同じ (UNSIGNED NOT NULL)
  • 照合は同じです
  • 外部キーのインデックスを試してみましたが、まだ機能しません (MySQL 5 では必要ありません)。