MySQL operacje arytmetyczne, a null
Jak wiadomo wartość NULL w bazach danych jest szczególna, oznacza jej brak. Mniej powszechną wiedzą jest to, że użycie NULLa w porównywaniu przy pomocy "=, >, <" nie zwróci nam true lub false ,tylko zawsze wartość NULL. Dlatego też, żeby uzyskać rekordy, dla których nie wypełniono pola, możemy użyć sformułowania: WHERE pole IS NULL.
Na przykład, żeby uzyskać użytkowników którzy nie mają wypełnionego numeru telefonu nie możemy zrobić:
Tylko musimy skorzystać ze sformułowania IS NULL:
Jak zreindeksować tabelę w MySQL
Problem: Załóżmy, że mamy tabelę w której ID (int) nie ma zachowanej ciągłości (np usuwaliśmy niektóre wpisy bo były niepotrzebne) tzn. ID wygląda przykładowo tak:
Chcemy teraz zrobić tak, żeby pola ID inkrementowały się o 1 rosnąco. Tzn. chcemy np. otrzymać rekordy, jak poniżej:
Rozwiązanie:
Uwaga, przy tabeli zawierającej dużo rekordów, może potrwać to długo.