Ben ve kullanıcıların tarama ve düzenleme bir veri seti ile bir webapp çalışıyorum.
Kullanıcılar, "product_name" demek, her madde için görünür alanlarından birini özelleştirmek istiyorsanız.
Her ürün tüm kullanıcılar için aynı olan, bir tablodaki varsayılan değerler bir dizi var:
Ürün tablosu (fikir olsun, sözdizimi Cruft atlama) gibi olacaktır:
CREATE TABLE products (
pid int, # product id
pname varchar # product name (users want to customize this)
);
Orada özel bir değeri, o ürün için, ancak aksi takdirde varsayılan değeri görüntülemek zaman benim sitedeki tüm tablolar / listelerde kullanıcının özelleştirilmiş ürün adını göstermek gerekir.
Uzay verimliliği için ben herhangi bir ürün için, herhangi bir kullanıcı için, ekstra bir tablo "geçersiz kılar" varsayılan değerleri bu tür kullanarak düşündüm. Gerektiğinde satırlar Bu tabloda eklenir. Herhangi bir ürün adı özelleştirme değil bir kullanıcı herhangi bir satır olmazdı:
CREATE TABLE custom (
pid int,
userid int,
pname varchar
);
Ben kolayca ürün kimliği bu iki tablo katılabilir ve varsayılan (products.pname), veya php her satır için kullanıcı düzenlenebilir değerini (custom.pname) almak olabilir, ama ben daha etkili bir yolu yoktur umuyorum MySQL bunu.
Değil aksi takdirde null olarak (iki tablo elçi) başka bir seçim bana bir sütun almak sağlayan bir ifade var mı?
Bu işlemek için farklı bir yol önerirsiniz?
Teşekkür ederim.
PS: belki JOIN türü aynı adı taşıyan tablo 2 sütun, tablo 2'de var bu satırlar için tablo 1 de bir sütun geçersiz kılmak için izin verecek?