آموزش های این وب سایت به صورت رایگان در دسترس است. اطلاعات بیشتر
بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]

جلوگیری از وارد شدن اطلاعات تکرار [دیتابیس]

Pr0gramm3r  12 سال پیش  12 سال پیش
+1 0

سلام به همه عزیزان

من میخوام با دستور INSERT (در sql server) یکسری اطلاعات وارد کنم

اما میخوام وقتی تکراری باشه بهم بگه و نزاره اطلاعات وارد بشه

ممنون میشم راهنمایی کنید

0 0
خب قبلش یه query بگیر از اون فیلد یا فیلد هایی که نمیخوای مقدار تکراری داشته باشن (12 سال پیش)
0 0
خب بلد نیستم داداش , کلا sql server بلد نیستم (12 سال پیش)
0 0
نه اینکه من بلدم :| تا جایی که من میدونم دستورات sql تو این مورد هم با بقیه موارد مثل MySQL فرق نداره ، خب insert رو نوشتی ، select رو هم بنویس دیگه ، تو میتونی :) لینک (12 سال پیش)
0 0
من نمیتونم :D کمک کنید (12 سال پیش)
0 0
:| (12 سال پیش)
0 0
یه فیلد ر وبه عنوان کلید تو بانکت تعریف کن .بعد موقعی که میخای اطلاعاتتو وارد کنی خودش اررو میده که میتونی با یه try -catch درستش کنی. (12 سال پیش)
0 0
ارور نداد اما اینسرت هم نشد دوباره , چطور بفهمم که تکراری بوده , یعنی میخوام به کاربر بگم اطلاعات تکراری بوده , ولی اروری نداد (12 سال پیش)
0 0
خوب وقتی try catch l میزاری وقتی که کاربر اطلاعات تکراری وارد کنه برنامه میره هر چی تو catch نوشتی رو اجرا میکنه بعد شما میتونی توی catch یه دونه toast بزار که اطلاعات تکراری بوده. (12 سال پیش)
0 0
داداش گلم هیچ اروری نمیده که try بزارم (12 سال پیش)
+2 0
شما باید اول از همه SQL رو بلد شید، همونقدر که در آموزشها درست دادیم برای اول کار کافیه. بعدش اول SQL می زنید که چند تا رکورد پیدا میشه ، اگر بیشتر از 0 تا بود یعنی وجود داره و اگر نبود یعنی نیست پس INSERT Query می زنی دیگه. جهت کسب اطلاعات بیشتر، بیشتر آموزشهای ما را مطالعه کنید. (12 سال پیش)
 برای این سوال 1 پاسخ وجود دارد.
پاسخ به سوال 
مجتبی یگانه  12 سال پیش
+1 0

شما برای درج رکورد ، معمولا یک فیلد دارید که هدف اینه از اون مقدار تکراری نداشته باشید ، چون معمولا کلید ما عددی هست پس ما بهش میگیم شبه کلید ! مثلا فرض کنید یک آدرس ایمیل ، میتونه به عنوان کلیک استفاده بشه ، اما چون پردازش سنگینی داره ترجیح میدیم همون عدد رو استفاده کنیم !

حالا میخوایم ببینیم آیا کسی با این ایمیل قبلا ثبت نام کرده یا نه !

 SELECT COUNT(*) as 'Tedad' FROM 'Jadval' WHERE 'Email'='ALU0075@yahoo.com'

تابع Count تعداد خروجی رو بر میگردونه  ، پس اگه تعداد بزرگ تر از 0 باشه یعنی تکراری هست !

در کوئری میگیم تعداد رو بگیر و به عنوان ( as ) یه ستونی به نام 'Tedad' ذخیره کن

برای برسی در php کافیه به این شکل عمل بشه

<?php
$Row = mysql_fetch_assoc($command);
$tedad = $Row['Tedad'];
if($tedad>0){
// exist
}
else{
// not exist
} ?>

(متاسفانه بازی ایران داره شروع میشه و وقت تست هیچ کدوم از کد ها رو نداشتم ، رو هوا نوشتم ، برای سینتکس برسی کنید )


پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .