PDA

View Full Version : سوال: تغییر دادن فیلد آی دی id در یك Table با كد sql



majid_darab
پنج شنبه 25 آذر 1389, 18:31 عصر
با سلام و عرض درود خدمت دوستان عزیز و گرامی :
من یك Table دارم كه حدود 100000 ركورد در داخل آن وجود دارد ...
این تیبل یك تیبل قدیمی است و از نظر foreign key ها اشكالات زیادی در آن وجود دارد ...

مشكل از این قراره كه فیلد آی دی این تیبل به دو دسته تقسیم می گردد :
یه عدشون نال هستند و یه عدشون هم دارای عدد هستند كه از این عددها در تیبل دیگری استفاده شده است.

از آنجا كه مكانیزم آی دی این تیبل خراب طراحی شده دنبال راهی هستم كه اونهایی كه آی دی نال دارن رو از حالت نال خارج كنم و این امر باید به گونه ای صورت بگیره كه آی دی های جدید با آی دی های موجود تناقض پیدا نكنند
اگر بخواهیم این تیبل رو در تیبل دیگری كپی كنیم رقم قابل توجهی از ركوردها به علت مشكلات این تیبل می پرد
آیا من با كد Sql‌می توانم آی دی های نال را صاحب عدد كنم به نحوی كه تناقض ایجاد نگردد؟

با تشكر از توجه شما

حمیدرضاصادقیان
شنبه 27 آذر 1389, 08:54 صبح
سلام.
بله میشه. فرض کنید در جدول دوم یک سری فیلدها مقدار ID دارند که باید در جدول 1 جایگزین مقادیر Null شوند. اینجا شما میتوانید با یکJoin مشخص کنید چه ارتباطی بین دو جدول هست و براساس اون شرط مقدار ستونهای Null رو با ID جدول دوم پر کنید.