2016-04-11 44 views
0

başka bir tabloda başvuru sütunları başvuruyor, benzer soruları gördüm ama asla yapmaya çalışıyorum.Tek sütun aynı anda MySQL

Yani 2 sütunları olan bir plan kimliğe sahip bir planları tablo var Exemple için birincil anahtar (plan_id ve frekans) gibi: frekans 1: 1 (Plan 1, her ay ücret)
id
id: 1, sıklık: 6 (Plan 1, her 6 ayda bir ücretlendirilir)
id: 1, sıklık: 12 (Plan 1, 12 ayda bir şarj edilir)
id: 2, sıklık: 1 (Plan 2, her ayın ücreti alınır)
...

Ardından "web sitesi" tablosunda her satır bu planlardan birine işaret eder. Plan tablosundan 2 sütunun bir kombinasyonunu gösteren bir sütuna sahip olmanın bir yolu var mı? Web sitesi tablosu zaten 2 sütun daha önlemek için çalışıyorum çok sütun var. YORUM SONRA

GÜNCELLEME:
Ben planın her farklı sürümü için farklı bir plan_id sahip düşündü ama hepsi ilişkili olduğu için, bu nedenle tüm bağlı gerekir frekansı 1,6,12 1 planı

+0

Her satır için benzersiz bir kimlik bulun. –

+0

Bunu yapamazsınız, çünkü her plan daha sonra tamamen bağlanmamış olur. Bu planı bilmemiz gerekir: 1. 1,6,12 frekansı ile aynı plan – NaturalBornCamper

+0

Bu, her satırda benzersiz bir tanımlayıcıya sahip olmayı engellemez. Hala planı belirten sütunu alacaktınız. –

cevap

0

Çözümü buldum!

Sorularımı silme veya yanıtı vermeme arasında bir tereddüt olabileceğinden tereddüt ettim. Ama sadece gelecekte başkalarına yardımcı olur, işte burada:

Daha önce bunu yapmak için aptal hissediyorum ki, yeni bağımsız bir plan oluştururken auto_increment olacak başka bir sütun "grup" ekliyorum veya başkaları ile ilgili olacak şekilde istenen grupla birlikte ayarlanacaktır. Bu yüzden birincil anahtarı sadece bir sütun üzerinde bırakırım. böylece temelde, planlar tablo bu gibi olma yerine:
id: 1, frekans: 1, frekans: 6 (Plan 1, şarjlı her 6 ay)
id 1
id (Plan 1, her ay ücret) : 1, frekans: 12 (Plan 1, şarjlı her 12 ayda)
id: 1
(Plan 2, her ay ücret) ...

böyle olacaktır:: frekans 2,
id : 1, grup: 1, sıklık: 1 (Plan 1, her ay tahsil edilir)
id: 2, grup: 1, sıklık: 6 (Plan 1, her 6 ayda bir ücret alınır)
id: 3, grubu: 1, frekans: 12 (Plan 1, şarjlı her 12 ayda)
id: 4, grup: 2, frekans: 1 (Plan 2, şarjlı her ay)
...

Bu şekilde, web sitesi tablosunun bir plana referans vermek için yalnızca bir "plan_id" sütununa ihtiyacı vardır, tek bir kimlikle bir plan alabiliriz ve aynı grubun tüm planlarını bir kimlikten alabiliriz.