PHP / MySQL veritabanı soru?

1 Cevap php

Ben q_id sütun kimliği sütununda bir etiket sunulduğunda ben PHP kullanarak bunu yapmak için çalışıyorlar değerini almak için çalışıyorum bir soru var ama ben sadece AUTO INCREMENT eklemek gerektiğini düşünüyordum q_id beri kolon ama etiketi submited olduğunda tablo güncellenir. ya da bunu yapmak için yanlış yolu ya da bunu yapmak için daha iyi bir yolu var mı?

Aşağıda MySQL tablo olduğunu.

CREATE TABLE q_tags (
q_id INT UNSIGNED NOT NULL,
users_q_id INT UNSIGNED NOT NULL
);

CREATE TABLE tags (
id INT UNSIGNED NOT NULL AUTO_INCREMENT,
tag VARCHAR(255) NOT NULL,
PRIMARY KEY (id)
);

1 Cevap

Eğer sadık bir dizin tutmak böylece AUTO ARTTIRMA, bir tabloya aynı kimliği ekleyerek önlemek için ağırlıklı olarak kullanılır. Ben etiketleri tabloya bir referans olabilir, böylece q_tags için birincil anahtar eklemek ve bir yabancı anahtar geçerli q_id değiştirmek öneririm.

EDIT:

CREATE TABLE q_tags (
q_id INT UNSIGNED NOT NULL AUTO_INCREMENT,
t_id INT UNSIGNED NOT NULL,
users_q_id INT UNSIGNED NOT NULL,
PRIMARY KEY (q_id)
);

CREATE TABLE tags (
id INT UNSIGNED NOT NULL AUTO_INCREMENT,
tag VARCHAR(255) NOT NULL,
PRIMARY KEY (id)
);

ilk tablodaki _ID "yabancı anahtar" dır. Sen gerçek bir mysql yabancı anahtar olarak eklemek veya sadece bu şekilde tutabilirsiniz (etiketlerini ve ilgili t_tags "art arda silme" mümkün planlıyorsanız, bu önemli olur)