• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Defaultowy NULL po update mysql

Object Storage Arubacloud
0 głosów
907 wizyt
pytanie zadane 28 lipca 2018 w SQL, bazy danych przez Bartłomiej Bolesta Obywatel (1,630 p.)

Czy można jakoś zaupdatować bazę do defaultowego NULLa? Tak jak są ustawienia domyślne i ustawia się NULL przy tworzeniu tabeli.

 

UPDATE nazwa SET nazwa = NULL

lub

UPDATE nazwa SET nazwa = DEFAULT

Dają po prostu puste pole w bazie.

Jeżeli się nie da to czy, gdy w innym miejscu mam szukanie po NULL, to z jedynie pustym polem, zawsze będzie wszystko ok? Bo póki co kod działa z pustym polem, ale nie wiem czy mam się martwić czy jednak nie będzie to miało żadnego znaczenia?

komentarz 28 lipca 2018 przez adrian17 Ekspert (344,860 p.)
Masz na myśli zmianę wartości domyślnej, bez zmiany samych danych?

https://stackoverflow.com/questions/11312433/how-to-alter-a-column-and-change-the-default-value
komentarz 28 lipca 2018 przez mbabane Szeryf (79,280 p.)

@Bartłomiej Bolesta, 

Wspomnę jeszcze o tym, że z tego co się orientuje to w bazach danych null nulowi nie jest równy i stosuje się inny rodzaj operatora niż =, są to:

IS NULL
IS NOT NULL
komentarz 28 lipca 2018 przez Bartłomiej Bolesta Obywatel (1,630 p.)

@adrian17,  Nie. Mam wartość domyślną NULL, potem robię UPDATE i wstawiam jakąś wartość, a potem znowu może być UPDATE, który kasuje wstawioną wcześniej wartość i wtedy pozostaje puste pole, a ja chcę, żeby się wyświetlało NULL - ale ten domyślny NULL, a nie wpisany jako wartość.

@mbabane, tak i z IS NULL, również próbowałem i tak samo ustawia jedynie puste pole. Jak wejdę do bazy danych i kliknę na danym polu tabeli to mam do "zaptaszkowania: wartość domyślną, gdy to zrobię to wtedy jest te NULL. Tylko jak to zrobić poprzez UPDATE?



 

1
komentarz 29 lipca 2018 przez adrian17 Ekspert (344,860 p.)

 a ja chcę, żeby się wyświetlało NULL - ale ten domyślny NULL, a nie wpisany jako wartość. 

Nie ma różnicy między "domyślnym NULLem" a "NULLem wpisanym jako wartość" - widzę najwyżej możliwość, że albo Twoja wartość domyślna, albo to co wpisałeś w UPDATE, nie było NULLem.

komentarz 30 lipca 2018 przez Bartłomiej Bolesta Obywatel (1,630 p.)

No jak widać jest różnica, bo nie daje wizualnego efektu w bazie.

 

albo Twoja wartość domyślna

No jest Nullem, bo inaczej nie wyświetlałoby się to co na screenie podczas ręcznej edycji.


albo to co wpisałeś w UPDATE

Też jest nullem, chyba, że ten zapis jest jednak niepoprawny "UPDATE nazwa SET nazwa = NULL", ale jest poprawny, bo potem z bazy odczytuje tą pozycję jako NULL, mimo, że wygląda ona jak na screenie. A żeby było wizualne potwierdzenie, że to NULL, to muszę wejść i ręcznie wcisnąć tego ptaszka ze screena.

1 odpowiedź

+1 głos
odpowiedź 28 lipca 2018 przez manjaro Nałogowiec (37,390 p.)
Update myTable set MyColumn = NULL where Field = Condition

 

komentarz 30 lipca 2018 przez Bartłomiej Bolesta Obywatel (1,630 p.)
Przecież w pierwszym poście dokładnie to dałem, tylko już nie zaśmiecałem widoku od WHERE.
1
komentarz 30 lipca 2018 przez manjaro Nałogowiec (37,390 p.)

Tylko że w pierwszym poście nie miałeś racji. Bo ta komenda ustawia dokładnie ten sam NULL. I jak widać daje wizualny efekt w bazie. Specjalnie dla ciebie nagrałem filmik żeby nie było niedociągnięć. 

 

komentarz 31 lipca 2018 przez Bartłomiej Bolesta Obywatel (1,630 p.)

Masz rację :D. Zrobiłem sobie całkowicie nową bazę i nowy plik tylko z tą jedną rzeczą i robi NULLa jak trzeba, więc u mnie też powinno. I rzeczywiście robiło. Odszukałem problem. Standardowo - NULL NULLowi nie równy. Dalej w kodzie jest zapełnienie pustych pozycji, tak, żeby wartości były po sobie :

1,2,3,4 NULL, NULL, NULL, a nie: 

1, NULL, 2, 3, NULL, 4, NULL.
 

$actual = $row['Actual'];
$first = $row['First'];
$second = $row['Second'];

SET Actual='$first', First='$second', Second='$third'

I to przepisywanie, tworzy puste pole :/. Czy jest jakaś osobna komenda, która by coś takiego zrobiła? Jak nie, to będę musiał zrobić kolejne połączenie SELECT, wybrać nowe puste pozycje i zrobić kolejnego UPDATa przypisując nowe NULLe.

Podobne pytania

0 głosów
2 odpowiedzi 520 wizyt
0 głosów
1 odpowiedź 283 wizyt
pytanie zadane 18 listopada 2018 w PHP przez marek90552 Początkujący (430 p.)
0 głosów
0 odpowiedzi 281 wizyt
pytanie zadane 22 października 2016 w PHP przez Raster22 Obywatel (1,640 p.)

92,555 zapytań

141,403 odpowiedzi

319,560 komentarzy

61,940 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...