سلام و وقت بخیر ...
ابتدای مروری بر دستور
Insert که مد نظر این سوال است داشته باشیم ( دقت کنیم که دو نوع دستور
Insert داریم ، نوع اول برای وارد کردن تنها یک تاپل در یک جدول است ( که همین نوعی است که شما ذکر کردید ) و نوع دوم برای وارد کردن دسته جمعی تاپل ها در جدول است که بحثی جداگانه است که برای مطالعه به کتاب مراجعه کنید )
Insertintotable−name
Values(listOfValues)
نکته ۱ - دقت کنیم شرط همتایی یا
SameArity حتما باید رعایت شود ...
نکته ۲ - اگر بخواهیم تنها چند ستون مشخص را مقدار دهی کنیم باید اسامی آنها را در سطر اول دستور بالا ذکر کنیم و در صورتی که سطر ( های ) باقیمانده بتوانند مقدار تهی بگیرند دستور اجرا میشود ...
دستور ذکر شده در سوال تنها به مقدار دهی از ۳ ستون از جدول تولیدکنندگان پرداخته است و مقدار ستون
status با توجه به این که میتوان مقدار تهی بگیرد مشکلی برای این سوال ایجاد نمیکند . بنابراین سطر جدیدی تولید میشود و ۳ ستون اول مقدار دهی میشود و مقدار فیلد
Status تهی میماند ... یعنی گزینه ۳ صحیح است ... ( فکر کنم نظر طراح محترم هم همین گزینه باشد )
صورت سوال ابهام دارد ، در برخی از کتب پایگاه داده در هنگام وارد کردن همچین سطری ، ممکن است مقدار قبلی فیلد ذکر نشده درج گردد ( در صورتی که فردی با همچین نامی قبلا وجود داشته باشد ) که این هم کلیت ندارد ... البته ممکن است طراح پایگاه داده از مقدار
default برای این ستون استفاده کرده باشد که باز هم کلیتی در این موضوع نیست ، بهترین گزینه همان مورد سوم است .