これは、動作させるための概念草案の一種ですが、完全なクラップコードを持つことは望ましくありません。私のデータベースでは、innoDBを使って真の外部キー関係を取得しようとしましたが、取得できませんでした。テーブルと関連付けるMySQLの外部キー関係とmysql_insert_id
外部キーを使用する代わりに、挿入後にmysql_insert_id()を引っ張って変数として保存し、その変数を関連するテーブルに格納することにしました。
これはひどいですか?すべてがうまくいくように見え、必要に応じてIDの接続や関連付けができます。外部キーを使用すると、どのようなメリットがあるのですか?
あなたが正しく理解していれば、あなたは 'mysql_query( 'INSERT INTO master ...')のようなことをしています。 $ master_id = mysqsl_insert_id(); mysql_query( "INSERT INTO detail(master_id、...)values( '$ master_id'、...)"); '。そうですね、それは恐ろしいことではなく、あなたが関係を作るためにできることは唯一のことです。他の唯一の方法は["natural keys"](http://en.wikipedia.org/wiki/Natural_key)またはアプリケーションで生成されたキーを使用することですが、唯一の違いは、mysql_insert_id 'ではなく、ユーザーからのものです。あなたは外来キーではどういう意味ですか? – vstm
私はmysql_insert_idを使って実際にデータベースに関係をベーキングするのと比較しようとしています: 'ADD CONSTRAINT 'mytable' FOREIGN KEY( 'my_id')REFERENCES 'othertable'( 'other_id')ON CASCADE ON DELET CASCADE; – Ryan
私のコメントを編集するのではなく、あなたの前提を確認してください:はい、まさに私がやっていることです。 – Ryan