PDA

View Full Version : برای اینکه هیچ کدام از دو ستون به هیچ وجه داده تکراری نگیرند چه راه حلی



manitack
پنج شنبه 19 بهمن 1385, 13:38 عصر
دوستان سلام

وقتی به دو ستون کلید اصلی میدهیم اگر در هر رکورد یکی از این دو ستون داده تکراری نداشته باشد ستون دیگر با اینکه

کلید اصلی دارد میتواند داده تکراری بگیرد. برای اینکه هیچ کدام از دو ستون به هیچ وجه داده تکراری نگیرند چه راه حلی

پیشنهاد میکنید.
با تشکر

zerobit-ltd
پنج شنبه 19 بهمن 1385, 14:01 عصر
برای حل این مشکل، شما می تونید فیلد اول رو identity بکنید و مقدار فیلد دوم رو، identity فیلد اول به اضافه 1 قرار بدید.

manitack
پنج شنبه 19 بهمن 1385, 14:27 عصر
برای حل این مشکل، شما می تونید فیلد اول رو identity بکنید و مقدار فیلد دوم رو، identity فیلد اول به اضافه 1 قرار بدید.
ضمن تشکر
آیا sql راه حل درون ساخت و پیش فرضی ندارد. روش شما کار را برای برنامه نویسی قدری مشکل میکند.

DonetKarvb
پنج شنبه 19 بهمن 1385, 16:34 عصر
دوستان سلام

وقتی به دو ستون کلید اصلی میدهیم اگر در هر رکورد یکی از این دو ستون داده تکراری نداشته باشد ستون دیگر با اینکه

کلید اصلی دارد میتواند داده تکراری بگیرد. برای اینکه هیچ کدام از دو ستون به هیچ وجه داده تکراری نگیرند چه راه حلی

پیشنهاد میکنید.
با تشکر
یکی از فیلد هات رو کلید (Primary Key) بگیر و یکی دیگه رو هم Unique.

linux
پنج شنبه 19 بهمن 1385, 20:41 عصر
دوستان سلام


وقتی به دو ستون کلید اصلی میدهیم اگر در هر رکورد یکی از این دو ستون داده تکراری نداشته باشد ستون دیگر با اینکه


کلید اصلی دارد میتواند داده تکراری بگیرد. برای اینکه هیچ کدام از دو ستون به هیچ وجه داده تکراری نگیرند چه راه حلی


پیشنهاد میکنید.

با تشکر
از constrants استفاده کنید

zerobit-ltd
جمعه 20 بهمن 1385, 12:48 عصر
فرض می کنیم فیلد اول id1 و فیلد دوم id2 هستش. فیلد id1 رو primary key و identity با identity seed 1 قرار می دیم.
حالا فیلد id2 رو به صورت منطقی کلید اصلی می کنیم. اگر برای شما فقط مهمه که این فیلد مقدار تکراری نگیره، کافیه تو design table تو قسمت formula، عبارت زیر رو بنویسید :
id1 + 1
ولی اگر می خواید فیلد id2 با یه جدول دیگه relation داشته باشه، کافیه بعد از انجام عمل فوق، یه unique index رو فیلد id2 ایجاد کنید تا این مشکل هم حل بشه.
با این روش هیچ رکوردی به وجود نمیاد که id1 یا id2 اون تکراری باشه.
هنوزم کار سخته؟