sql >> Databasteknik >  >> RDS >> Oracle

Hur man lägger till en icke-null-begränsning på en kolumn som innehåller null-värden

Du kan lägga till en ovaliderad begränsning - den kommer inte att titta på befintliga rader, men den kommer att kontrolleras för eventuella nya eller uppdaterade rader.

ALTER TABLE mytable MODIFY mycolumn NOT NULL NOVALIDATE;

Tänk bara på att du inte kommer att kunna uppdatera en befintlig rad om den inte uppfyller begränsningen.

Var också medveten om nackdelen att optimeraren inte kommer att kunna dra fördel av denna begränsning när den gör sina planer - den måste anta att vissa rader fortfarande kan ha en noll.



  1. Lagra UUID v4 i MySQL

  2. SQL - Invalid Identifier, men var?

  3. Vad är poängen med en lagrad procedur?

  4. Hibernate, JDBC och Java prestanda på medelstora och stora resultatuppsättningar