SQL Server NULL kolonu NOT NULL Nasıl Yaparız ?

Reading Time: 2 minutes

Veritabanlarımızda tablolarımız içerisinde yer alan Nullable kolonlarımızı Not Null a nasıl çeviririz bu makalemizde bunu göreceğiz.

Örnek ile konuyu daha net bir şekilde ele alalım. SQLTURKIYE veritabanımız içerisinde bir adet demo tablo oluşturuyoruz.

SQLTR_DEMO_1 isimli demo tablomuzu oluşturduktan sonra içerisine veri basıyoruz.

Şimdi ise tablomuzu kontrol edelim ,

Demo tablomuzda yer alan Id ve TestColumn kolonlarını NOT NULL yapacağız. Bunun için aşağıda ki scripti çalıştırıyoruz.

Script çalıştırdığımızda aşağıda ki hata ile karşılaşıyoruz.

 

Msg 515, Level 16, State 2, Line 34
Cannot insert the value NULL into column ‘Id’, table ‘SQLTURKIYE.dbo.SQLTR_DEMO_1’; column does not allow nulls. UPDATE fails.
The statement has been terminated.

Hatadan da anlaşılacağı üzere NOT NULL a çekmek istediğimiz kolonlar içerisinde NULL kayıt olduğundan hata almaktayız. O zaman yapmamız gereken NULL kayıtlarımızı tablomuzdan kaldırmak.Bunu içinde ID kolonumuzda yer alan NULL değerleri 0 , TestColumn kolonunda yer alan NULL kayıtları ise boşluk olarak güncelleyip tekrar bu işlemlerden sonra kolonlarımızı NOT NULL a çekmeye çalışalım.

Şimdi ise tablomuzu kontrol edelim,

Artık tablomuzda NULL kayıt olmadığını görmekteyiz. Şimdi kolonlarımızı NOT NULL a çekeceğimiz scripti EXEC edelim.

İşlemden sonra Table Design dan tablomuzu kontrol ettiğimizde NOT NULL operasyonunun başarılı olduğunu görmekteyiz.

Büyük tablolarınızda bu işlemleri ilk önce test ve stage ortamlarınızda gerçekleştirip süreçleri ve sürelerini analiz edip daha sonra live ortamlarınız da uygun zaman diliminde gerçekleştirin.

Kolay Gelsin.

2 Replies to “SQL Server NULL kolonu NOT NULL Nasıl Yaparız ?”

  1. Geçenlerde yapmaya çalıştığım ama beceremedim onlarca forum u okuduğumda oradaki bilgilerle anlamdn yaptığım bir işlemdi. Yazdığınız bu makale ile işin tüm adımlarını idrak etmiş oldum.

    Elinize Sağlık

    1. Selam Merve ,

      İhtiyacını görmesine sevindim. Bu tarz işlemlerinizi ilk etapta DEV ve Stage ortamlarınızda yapıp sürelerini burada gözlemleyip daha sonra live ortamlarınızda yapmanızı tavsiye ederim.

      Yoğun bir tabloda yapacak iseniz de sistemin en az yoğun olduğu dönemleri kullanmalısınız.

      Kolay Gelsin.

Leave a Reply

Your email address will not be published. Required fields are marked *