PDA

View Full Version : سوال: حذف تمامی رکوردها به غیر از یک رکورد با یک آی دی خاص



soroush.r70
جمعه 26 اسفند 1390, 18:04 عصر
من تمامی رکوردهای جدولم رو با یک کلیک حذف می کنم حالا می خوام همه حذف بشه به غیر از یک رکورد با id مثلا با شماره 4 حذف نشه.

djsaeedkhan
جمعه 26 اسفند 1390, 18:26 عصر
delete from table where id<>12
دقیقا یادم نیست نامساوی چی میشه ولی سینتکسش همینه

mohsen6500
جمعه 26 اسفند 1390, 18:47 عصر
سلام
میتونی از یه شرط استفاده کنی مثلا :

$ID = 4;
$Delete = mysql_query("DELETE from Table where id != '$ID' ");
if($Delete == true)
echo 'Delete is OK!';
موفق باشی

soroush.r70
جمعه 26 اسفند 1390, 18:57 عصر
نه آقا جواب نمی ده لطفا راهه دیگه

soroush.r70
جمعه 26 اسفند 1390, 19:04 عصر
من از truncate به جای delete استفاده می کنم اینا جواب نمی ده چرا و لطفا راهنمایی کنین.

MMSHFE
شنبه 27 اسفند 1390, 09:12 صبح
دوست عزیز، TRUNCATE شرط نمیگیره. علت سرعت بیشترش هم نسبت به DELETE بدون شرط اینه که جدول رو حذف میکنه و دوباره با همون ساختار تعریف میکنه، نه اینکه یکی یکی رکوردها رو حذف کنه و بتونیم با شرط جلوی حذف یک رکورد رو بگیریم. اگه میخواین از TRUNCATE استفاده کنید، رکوردهایی که میخواین بمونن رو قبلش با SELECT بخونید و توی یک آرایه بریزین و بعد از اجرای TRUNCATE دوباره اونها رو درج کنید.