ホームページ バックエンド開発 PHPチュートリアル 外部キー制約を使用してテーブルにレコードを挿入する方法

外部キー制約を使用してテーブルにレコードを挿入する方法

Jun 13, 2016 pm 01:22 PM
cascade char mysql null

外部キー制約のあるテーブルにレコードを挿入するにはどうすればよいですか?
mysql で 2 つのテーブルを作成しました
mysql>describe room;
+----------+----------+------ +-- ---+--------+------+
| 追加キー |
+----- --- +----------+------+-----+----------+----------+
| | 文字 (20) | |
| 文字 (20) | --+------+-----+-----------+----------+
セット内の 2 行 (0.07 秒)

単語リストは
mysql>describe guahao;
+------+----------+------+-----+ - --------+------+
| デフォルト |
+------+---- -----+------+-----+-----------+------+
| 文字 (20) | | NULL | 文字 (10) | 文字 (20) | | MUL | |
+-----+----------+-----+-----+------ -- -+------+
セット内の 4 行 (0.00 秒)
外部キーはルームで、削除カスケード、更新カスケード

コマンドラインで尋ねました。ワードテーブルにデータを挿入するのは問題ありません。結果は
insert into guahao
-> ('Xiao Zhang', ' Male', ' Dermatology');クエリ OK 、1 行が影響を受けました (0.04 秒)

mysql> select * from guahao;
+--------+-----+-----+-- -- -------+
| 性別 | 部屋 |
+-----+-----+--- -- ------+
| 内科
| 脳科 | 🎜 | 女性 | 整形外科 | 22 | 李思 | 🎜>+----------+-----+-----+----------+
セット内の 9 行 (0.00 秒)
しかし、PHP を使用すると、同じ挿入ステートメントでエラーが報告されます。エラー メッセージは次のとおりです。
子行を追加または更新できません: 外部キー制約が失敗します (`clinic`., CONSTRAINT `#sql-9e_13_ibfk_1)。 ` FOREIGN KEY (`room`) REFERENCES `room` (`name`) ON DELETE CASCADE ON UPDATE CASCADE)
問題が何であるかを見つけるのを手伝ってください。ひざまずいて懇願してください!一度泣きながら聞いてみましたが解決しませんでした。


-----解決策---------

文字セットの問題!
1. テーブルの文字タイプ フィールドに文字セットが設定されていません (デフォルトは latin1)
2. データベースに接続した後に文字セットを宣言しませんでした (set names コマンドがありません)
3. utf-8 文字セットを使用しているとのことですが、プログラムには charset=GB18030 があります
実際には gbk 文字セットを使用しています

GB18030 は公式の国家標準であり、まだ実装されていませんコンピューター。したがって、実際に使用されるのはそのサブセット、GBK

です。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

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

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

PHPのビッグデータ構造処理スキル PHPのビッグデータ構造処理スキル May 08, 2024 am 10:24 AM

PHPのビッグデータ構造処理スキル

PHP で MySQL クエリのパフォーマンスを最適化するにはどうすればよいですか? PHP で MySQL クエリのパフォーマンスを最適化するにはどうすればよいですか? Jun 03, 2024 pm 08:11 PM

PHP で MySQL クエリのパフォーマンスを最適化するにはどうすればよいですか?

PHP で MySQL のバックアップと復元を使用するにはどうすればよいですか? PHP で MySQL のバックアップと復元を使用するにはどうすればよいですか? Jun 03, 2024 pm 12:19 PM

PHP で MySQL のバックアップと復元を使用するにはどうすればよいですか?

PHP を使用して MySQL テーブルにデータを挿入するにはどうすればよいですか? PHP を使用して MySQL テーブルにデータを挿入するにはどうすればよいですか? Jun 02, 2024 pm 02:26 PM

PHP を使用して MySQL テーブルにデータを挿入するにはどうすればよいですか?

MySQL 8.4 で mysql_native_password がロードされていないエラーを修正する方法 MySQL 8.4 で mysql_native_password がロードされていないエラーを修正する方法 Dec 09, 2024 am 11:42 AM

MySQL 8.4 で mysql_native_password がロードされていないエラーを修正する方法

PHP で MySQL ストアド プロシージャを使用するにはどうすればよいですか? PHP で MySQL ストアド プロシージャを使用するにはどうすればよいですか? Jun 02, 2024 pm 02:13 PM

PHP で MySQL ストアド プロシージャを使用するにはどうすればよいですか?

PHP を使用して MySQL テーブルを作成するにはどうすればよいですか? PHP を使用して MySQL テーブルを作成するにはどうすればよいですか? Jun 04, 2024 pm 01:57 PM

PHP を使用して MySQL テーブルを作成するにはどうすればよいですか?

Oracleデータベースとmysqlの違い Oracleデータベースとmysqlの違い May 10, 2024 am 01:54 AM

Oracleデータベースとmysqlの違い

See all articles