外部キー制約のあるテーブルにレコードを挿入するにはどうすればよいですか?
mysql で 2 つのテーブルを作成しました
mysql>
+----------+----------+------+----- +-- -------+------+
フィールド | デフォルト | -+------+-----+--------+------+ 文字 (20) | | -+ ---------+-------+
セット内の 2 行 (0.07 秒)
単語テーブルは、
mysql>
+-------+ - --------+------+-----+--------+
キー | | デフォルト |
+------+----------+-----+-----+----------+ -------+ 文字 (20) | 文字 (10) | | 文字 (20) |
+------+----------+-- ---+-- -------+------+
4 行セット (0.00 秒)
外部キーは room、削除カスケード、更新カスケード
コマンドライン上です 問題ありません単語テーブルにデータを挿入すると、結果は
mysql> insert into guahao
-> ('Xiao Zhang', ' Male', ' Dermatology');
クエリ OK、 1 行が影響を受けます ( 0.04 秒)
mysql> select * from guahao; | 性別 | 部屋 |
+-----+-----+----------+ 女 |
| 整形外科 |
|張 | 男性 |
| 脳科 | 30 | ---+-----------+
セットに 9 行 (0.00 秒)
しかし、PHP を使用すると、同じ挿入ステートメントでエラー メッセージが次のように報告されます。
できません。子行の追加または更新: 外部キー制約が失敗します (`clinic`., CONSTRAINT `#sql-9e_13_ibfk_1` FOREIGN KEY (`room`) REFERENCES `room` (`name`) ON DELETE CASCADE ON UPDATE CASCADE)
お願いします神様、どこに問題があるのかを見つけられるように助けてください。ひざまずいて懇願してください!一度泣きながら聞いてみましたが解決しませんでした。
ディスカッション (解決策) への返信
この質問に誰も返信しないのはなぜですか?難しい質問ではありません
1. オペレーティング システムは何ですか?
2. プログラムはどの文字セットを使用しますか?
3. 手伝ってくれる人の利便性を高めるために、
a. テーブルを作成するための SQL 手順
b. テスト用の PHP コード
ほほ、誰かが答えてくれるでしょう ~~
1. オペレーティング システムは何ですか?
2. プログラムはどの文字セットを使用しますか?
3. サポートしてくれる人に便利なようにするには、
a. テーブルを作成するための SQL 命令
b. テスト用の PHP コード
1. オペレーティング システムは MAC OS X です
2. 文字セットは
mysql> ; 'character%' のような変数を表示します
+---------------+---------; --- --------------------------------------------------- ---+
値 | ---------------------------------------------------- - + latin1 | -------------------+---------------------------- ------------------------+
8 行セット (0.08 秒)
データベースへの挿入に使用されるデータは HTML から転送されますUTF-8 でエンコードされたページを、post メソッドを使用して同じく UTF-8 でエンコードされた PHP ファイルに変換します。
3.
テーブルを作成する SQL コマンドは次のようにターミナルに入力します
mysql> create table room(name char(20) not null プライマリキー、doctor char(20) not null) type=innodb;
クエリ OK 、影響を受ける行 0 件、警告 1 件 (0.05 秒)
mysql> create table guahao -> (name char(20) not null 主キー、 -> sex char(10) not null、
- > age char(10) は null ではありません、
-> room char(20) は null ではありません、
-> 更新カスケードで room(name) を参照します-> type=innodb;
クエリ OK、影響を受ける行は 0、警告は 1 件 (0.41 秒)
PHP コードは
エラーです
文字セットに問題があります!
1. テーブルの文字タイプフィールドに文字セットセットがありません (デフォルトは latin1)
2. データベースに接続した後に文字セットを宣言しませんでした (set names コマンドが不足しています)
3. を使用したと言いますutf-8 文字セット、プログラムには charset=GB18030 が含まれています
これは実際には gbk 文字セットを使用します
GB18030 は公式の国家標準であり、まだコンピュータには実装されていません。したがって、実際に使用されるのはそのサブセット GBK です
外部キーを無視します: SET FOREIGN_KEY_CHECKS = 0
文字セットの問題!
1. テーブルの文字タイプフィールドに文字セットセットがありません (デフォルトは latin1)
2. データベースに接続した後に文字セットを宣言しませんでした (set names コマンドが不足しています)
3. を使用したと言いますutf-8 文字セット、プログラムには charset=GB18030 が含まれています
これは実際には gbk 文字セットを使用します
GB18030 は公式の国家標準であり、まだコンピュータには実装されていません。したがって、実際に使用するのはそのサブセットである GBK です
私はその問題を解決しました、それは文字セットの問題です、マスター Buzhu に感謝します!とても多くの天才が投稿しに来ます
キャラクターセットの問題!
1. テーブルの文字タイプフィールドに文字セットセットがありません (デフォルトは latin1)
2. データベースに接続した後に文字セットを宣言しませんでした (set names コマンドが不足しています)
3. を使用したと言いますutf-8 文字セット、プログラムには charset=GB18030 が含まれています
これは実際には gbk 文字セットを使用します
GB18030 は公式の国家標準であり、まだコンピュータには実装されていません。したがって、実際に使用されるのはそのサブセットである GBK です
…
モデレーターさん、こんにちは。元の投稿者と同じテーブル作成コマンドを使用してテーブルを作成しましたが、元の投稿者と同じデータを挿入できず、「外部」というプロンプトが表示されます。制約が失敗します」というメッセージが表示されました。どうすればよいですか? 解決策は何ですか?

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック

Laravelは、直感的なフラッシュメソッドを使用して、一時的なセッションデータの処理を簡素化します。これは、アプリケーション内に簡単なメッセージ、アラート、または通知を表示するのに最適です。 データは、デフォルトで次の要求のためにのみ持続します。 $リクエスト -

PHPクライアントURL(CURL)拡張機能は、開発者にとって強力なツールであり、リモートサーバーやREST APIとのシームレスな対話を可能にします。尊敬されるマルチプロトコルファイル転送ライブラリであるLibcurlを活用することにより、PHP Curlは効率的なexecuを促進します

Laravelは簡潔なHTTP応答シミュレーション構文を提供し、HTTP相互作用テストを簡素化します。このアプローチは、テストシミュレーションをより直感的にしながら、コード冗長性を大幅に削減します。 基本的な実装は、さまざまな応答タイプのショートカットを提供します。 Illuminate \ support \ facades \ httpを使用します。 http :: fake([[ 'google.com' => 'hello world'、 'github.com' => ['foo' => 'bar']、 'forge.laravel.com' =>

PHPロギングは、Webアプリケーションの監視とデバッグ、および重要なイベント、エラー、ランタイムの動作をキャプチャするために不可欠です。システムのパフォーマンスに関する貴重な洞察を提供し、問題の特定に役立ち、より速いトラブルシューティングをサポートします

顧客の最も差し迫った問題にリアルタイムでインスタントソリューションを提供したいですか? ライブチャットを使用すると、顧客とのリアルタイムな会話を行い、すぐに問題を解決できます。それはあなたがあなたのカスタムにより速いサービスを提供することを可能にします

記事では、PHP 5.3で導入されたPHPの後期静的結合(LSB)について説明し、より柔軟な継承を求める静的メソッドコールのランタイム解像度を可能にします。 LSBの実用的なアプリケーションと潜在的なパフォーマ

この記事では、フレームワークにカスタム機能を追加し、アーキテクチャの理解、拡張ポイントの識別、統合とデバッグのベストプラクティスに焦点を当てています。
