私は2つのテーブルを持っています。表AおよびB表Aには、自動増分を主キーとして持つ列があります。 (I挿入するPHPを使用)テーブルに外部キーとしてdatetime列を持つことは安全ですか?
id name date_created
1 Kletian 12-12-12 12:12:12
2 Vormav 12-12-12 12:12:13
3 Agrias 12-12-12 12:12:14
4 Ramza 12-12-12 12:12:15
表B、表AのIDを参照する外部キーを持つ必要がありますが、IDは(MySQLの生成)自動インクリメントであるので、私は、サーバー側のプログラミングを使用して割り当てることはできません。しかし、表Aには、datetime属性を持つdate_created列があります。
通常、これはテーブルBであるように見えるはずです。
id images
1 abc.jpg
1 def.png
1 ghi.jpg
2 jkl.png
3 mno.jpeg
3 pqr.png
と、これは、テーブルBのための私の計画である:
date_created images
12-12-12 12:12:12 abc.jpg
12-12-12 12:12:12 def.png
12-12-12 12:12:12
12-12-12 12:12:13
12-12-12 12:12:14
12-12-12 12:12:14 pqr.png
注:
- が自動インクリメントを取得サーバーサイドプログラミング(PHP)による価値は信頼できません。ユーザーはレコードを削除して注文を混乱させる可能性があるため。
- 私はテーブル構造を変更する特権を持っています。マイナーな変更は大丈夫ですが、大きな変更は禁止されています。
- 私のプランは安全ですか、別の選択肢がありますか?
表Bは、表Aの外部キー参照である別の列を持つ必要があります。私は外部キー参照の日時を使用しません。 –
あなたのチームの大きな変化は何ですか?外部キーを設定し、テーブルの索引付けを変更することは小さな変更ですか?表Bに同じ日時を持つ複数の行がデザイン内に存在するでしょうか?また、あなたの最初のメモを取得しないでください。削除すると、どんな順序が乱れますか? – Alfabravo
@Alfabravo no。 1つの日付時刻(date_created)と、文字列/テキストを含む複数の列のみが含まれます。 – ashura91