سلام.
هنگامی که در query (دستور SQl) از UPDATE استفاده کنیم، تنها مقدار ستون هایی (columns) که مشخص کرده ایم، تغییر داده می شوند و مقدار سایر ستون ها همانند قبل باقی می ماند.
UPDATE برای بروزرسانی اطلاعات ((یک ردیف (row) موجود)) به کار می رود (
کلید شماره 329).
اما اگر برای ((ردیف های جدید)) که در جدول INSERT می کنید، می خواهید یک مقدار پیش فرض تعیین کنید، می توانید در ساختار جدول، برای ستون مورد نظرتان، مقدار Default تعیین کنید.
-------------------------------
اکنون این حالت را در نظر بگیریم که یک فرم داریم که باید کاربر اطلاعات یک ردیف از جدول را به روزرسانی کند (مثلا 5 ستون از 10 ستون یک ردیف را می خواهیم کاربر ویرایش کرده و تغییر بدهد)، در این موارد، ما ابتدا اطلاعات موجود در آن ردیف را دریافت کرده (همان 5 ستون) و در فرم قرار می دهیم، بعد کاربر، فیلدهای (fields) مورد نظر خود را تغییر می دهد و سپس در انتها، ما تمامی فیلدهای فرم (form) (آن 5 ستون) را در آن ردیف از جدول بروزرسانی می کنیم (با UPDATE). بنابراین جتی اگر کاربر اطلاعات فیلدی را تغییر ندهد، باز چون همان اطلاعات قبلی را در فرم داریم، دوباره همان اطلاعات در ردیف قرار داده می شود.
توضیحی که در بالا داده شده، شکل استاندارد تغییر اطلاعات یک ردیف از جدول، بر اساس فرم (form) می باشد. اما در صورتیکه ما یک فرم خالی به کاربر نمایش بدهیم و بعد تنها فیلدهایی که وی پر می کند، در جدول ثبت شود، در این حالت، نوشتن query سخت خواهد بود، چون معلوم نیست کاربر چه فیلدهایی را می خواهد تغییر بدهد و ما باید اطلاعات قبلی ردیف را هم حفظ کنیم (در اینجا راحتی روش بالا مشخص می شود).
اگر هم قصد دارید که اطلاعات به کاربر نمایش داده نشود (حتما یک فرم خالی را مشاهده کند)، می توانید هنگام ثبت اطلاعات جدید، مقدار مربوط به فیلدهای خالی (که کاربر تعیین نکرده) را از ردیف خوانده و بعد آنها را در query بنویسید (باید چک کنید کدام فیلدها خالی مانده).