delphi4arab منتديات دلفي للعرب

نسخة كاملة : [Firebird] تغيير خاصية حقل يقبل NULL إلى NOT NULL
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
السلام عليكم.
في هذا اليوم احتجت تغيير خاصية حقل كان يقبل قيم NULL  ، أرد تغييرها إلى NOT NULL.

إذا كان الجدول اسمه MyTable  و الحقل اسمه   MyCOLUMN

للتغيير من NULL إلى   NOT NULL

PHP كود :
UPDATE RDB$RELATION_FIELDS SET RDB$NULL_FLAG =  1

WHERE RDB$FIELD_NAME 
= 'MyCOLUMN' AND RDB$RELATION_NAME = 'MyTable ; 


للتغيير من NoT NULL إلى    NULL


PHP كود :
UPDATE RDB$RELATION_FIELDS SET RDB$NULL_FLAG =  0

WHERE RDB$FIELD_NAME 
= 'MyCOLUMN' AND RDB$RELATION_NAME = 'MyTable'; 


ربما هناك من سيستفيد منها مثلي . Cool
و عليكم السلام.

ماهو DBMS المستعمل ؟
(29-06-2020, 07:03 PM)h-farid كتب : [ -> ]و عليكم السلام.

ماهو DBMS المستعمل ؟


الفايربيرد.
وعليكم السلام
بارك الله فيك اخي ابو معاذ .
في Mysql , Mariadb و غيرها

كود :
ALTER TABLE `MyTable` CHANGE COLUMN `mouad` `mouad_newName` VARCHAR(30) NOT NULL ;

سهلة مثل الباسكال Smile
حتى في فيربيرد يمكن ذلك عن طريق :

كود :
ALTER TABLE Table_Name ALTER field_Name DROP NOT NULL

كود :
ALTER TABLE Table_Name ALTER field_Name SET NOT NULL

لكن عليك أن تعرف أن البيانات الموجودة سابقا في الحقل ليست Null.
لانه في حال كانت القيمة Null و اردت جعل الحقل لا يقبل القيم Null فإنه سيحث خطأ.
لتفادي مشكلة الحقول التي قيمتها Null

ALTER TABLE Table_Name ALTER COLUMN COLUMN_Name
SET DEFAULT 0

حيث القيمة الافتراضية اما تكون رقم اذا كان الحقل رقم او قيمة منطقية او تاريخ او نص وهكذا