Kullanıcı tanımlı değeri ile varsayılan değeri veya sütun ile sütun almak değilse null olarak?

0 Cevap php

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?

0 Cevap