私は 2 つのテーブル users
と posts
を持つ MYSQL データベース (PHPMyAdmin 内) を持っています。どちらのテーブルにも username
列があります。 posts
テーブルの username
列を変更して、users
テーブル、つまり posts# からユーザー名データを抽出したいと考えています。 ## テーブル データは
users テーブルから自動的に更新され、
users テーブルの更新中に参照されます。
次の構文が間違っているというエラーが表示されますが、ヒントや解決策は示されていません:
リーリー
データベース内の別のテーブルの列のデータを参照/使用するように既存の列を変更するにはどうすればよいですか?2 つのテーブルの
username 列は同じタイプ、サイズ、属性を持ち、つまり
VARCHAR(55) NOT NULL であり、innoDB ストレージ エンジンが使用されます。
外部キーはデータの整合性をチェックするものであり、それ以上のものではありません。これにより、子テーブルのフィールドに、親テーブルの参照フィールドに表示される値が含まれることが保証されます。それでおしまい###*###。 外部キーを使用して、あるテーブルのデータを別のテーブルにマージすることはできません。ただし、
JOINステートメントは必要なことを正確に実行し、外部キーとともに使用すると、各投稿に正しいユーザー データを識別するための有効なユーザー名が確実に含まれます。
次の例を見てみましょう:
ユーザーデータリーリー ######役職###### リーリー 次のクエリを使用して、
userdataテーブルと posts テーブルを
JOINできます。 リーリー
ステートメントを使用してビューをクエリします:さらに、このクエリに基づいて
VIEWを作成してデータを返すことができます:
リーリーSELECT
リーリー
デモ:
https://www.db-fiddle.com/f/tbBXvthBtwH7CKu1yjzPjQ/0## 外部キーを使用すると、親テーブルからの更新と削除を子テーブルにカスケードすることもできますが、これはこの記事の範囲外です。