PHP の学習はまったく進んでいませんが、最近オープンソースのものをいくつか読んで、またやる気が出てきました。
私が読んでいる本やビデオはすべて単一のテーブル上で操作されています。
次に、いくつかのオープンソース CMS データ テーブルのフィールド名とテーブルを記録する関数を実装する必要があります。
たとえば、ecshop のすべてのテーブルを記録し、各テーブルのフィールド名、タイプ、コメントを記録してデータベースに書き込んで保存したいと考えています
これと同様に、これがデータベースの設計方法です。 , Aテーブルが2つ。
最初のテーブル (テーブルの情報を記録します。tabid は 2 番目のテーブルの tid に関連付けられます)
auid int(3) 自動インクリメント、主キー
tabname varchar(30) テーブルの名前
tabnote varchar (テーブルのメモ)
tabid int(3) 2 つのテーブルの tid を関連付けます
addtime int(10) テーブルのタイムスタンプを追加します
2 番目のテーブル 2 (テーブルのフィールド情報を記録します)
auid int(3) 自動インクリメント、主キー
tname varchar (30) フィールド名
ttype varchar(20) フィールドタイプ
tnote varchar(100) フィールドの説明、コメント
tid int(3) 最初のテーブル 1 に関連付けられた Tabid
========== ================================
この場合、どうすればよいでしょうかデータベースを作成するときに自動的に関連付けられますか? 実装方法がわかりません。たとえば、データを挿入します。
テーブル名:article_cat
テーブルのコメント: 記事の分類情報
テーブルの追加時刻: 1395052170
フィールド: type
フィールドのタイプ: time
フィールドの説明: これはタイムスタンプです
--- --------------------
この場合、どうすればよいですかフォームが POST を通じて情報を受け取った後、データベースに情報を挿入しますか?
挿入...
また、上記のテーブルの設計に問題がありますか? テーブルとテーブルに関連するフィールドはプライマリである必要がありますか?鍵か何か?
最初のテーブルでは、auid と tabid が重複しています。どちらか一方を使用してください。
自動関連付けなどはありません。関連付けフィールドにデータを書き込む必要があります。
最初の表では、auid と tabid が繰り返されていますが、どちらか 1 つだけを使用してください。
自動関連付けなどはありません。関連付けられたフィールドにデータを書き込む必要があります。
1 つのテーブルに書き込まれた tabid は、同時に 2 つのテーブルの tid に自動的に挿入されるという意味ですか?
この場合、mysql トリガーを使用する必要がありますか
その場合、SQL が必要です1 つは 1 つのテーブルに挿入するもので、もう 1 つは 2 つのテーブルに挿入するものです。このように理解できますか
まずはデータベースのパラダイムなどの基本的な知識を学ぶことをお勧めします。
最初の表では、auid と tabid が繰り返されていますが、どちらか 1 つだけを使用してください。
自動関連付けなどはありません。関連付けられたフィールドにデータを書き込む必要があります。
1 つのテーブルに書き込まれた tabid は、同時に 2 つのテーブルの tid に自動的に挿入されるという意味ですか?
この場合、mysql トリガーを使用する必要がありますか
それはあなたが考えているようなものではありません列の値を保存した後は、この列の値を別のテーブルの対応する列に代入するだけです。 。 。