Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> dziwne naruszenie integralności bazy - jak uniknąć omijania NOT NULL
jolam
post
Post #1





Grupa: Zarejestrowani
Postów: 259
Pomógł: 0
Dołączył: 12.07.2009

Ostrzeżenie: (10%)
X----


Mam taki problem. Podczas dodawania rekordów do tabeli w formularzu przypadkiem nie wypełniłam wszystkich pól. Tabela ma zdefiniowana każda kolumnę jako NOT NULL. I okazało się, że dodanie wiersza z pustymi łańcuchami (wydaje mi się, że puste pole przekazane przez formularz to właśnie taki pusty łańcuch) przeszło przez zabezpieczenie bazy o tych niezerowych kolumnach.
Jak tego uniknąć?

pozdrawiam serdecznie Jola
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
wlatanowicz
post
Post #2





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 22.10.2009

Ostrzeżenie: (0%)
-----


Nie za bardzo rozumiem, dlaczego za spójność danych w bazie ma odpowiadać PHP.
Może warto zainteresować się więzami integralności? W tym przypadku należy zadbać o integralność krotki.
Służy do tego CHECK http://www.w3schools.com/Sql/sql_check.asp
Czyli oprócz NOT NULL należy dodać CHECK ( LENGTH( atrybut ) > 0 ) - przy założeniu, że funkcja LENGTH() zwraca długość ciągu znaków
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 10.10.2025 - 16:58