Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: wymuszenie artości null dla pola time
Forum PHP.pl > Forum > Bazy danych > MySQL
Jarod
Mam w bazie wartość godzina time

Czy da się tak zrobić, że gdy przypisuję temu polu wartość null to nie wypełnia jej formatem '00:00' ?
Adiasz
  1. ALTER TABLE tabela ALTER godzina SET DEFAULT '00-00';
Jarod
Cytat(Adiasz @ 2.08.2006, 07:43 ) *
  1. ALTER TABLE tabela ALTER godzina SET DEFAULT '00-00';

To wiem tylko nie o to mi chodzi.

Jak podczas tworzenia tabeli dasz godzina TIME to podczas błędnej składni danych, które chcesz wprowadzić do tego pola, mysql sam wstawi 00:00.

A ja chcę mieć możliwość zmiany domyślnej wartości z 00:00 na wartość NULL/pustą
nospor
No to chyba analogicznie....
  1. ALTER TABLE tabela ALTER godzina SET DEFAULT NULL;

No i pole musi przyjmować wartosci null.

pozatym poprawnosc daty/czasu powinienes sprawdzac przed wlozeniem do bazy
Jarod
Cytat(nospor @ 2.08.2006, 08:13 ) *
No to chyba analogicznie....
  1. ALTER TABLE tabela ALTER godzina SET DEFAULT NULL;

No i pole musi przyjmować wartosci null.

pozatym poprawnosc daty/czasu powinienes sprawdzac przed wlozeniem do bazy


Sprawdzam i jak jest niepoprawna to chcesz wrzucać nulla. Twój sposób nie działa. Jak wrzucam pustą wartość to mysql ładuje w tym polu '00:00'
nospor
Bo ty nie masz wstawiac pustej wartosci, a masz wstawiac null. Wowczas dziala jak ta lala

ps: testowalel to na polu typu DATE i TIME. Na DATE wstawia null, na TIME wstawia 00:00 (mowie o przypadku wstawiania "pustej wartosci"). Wstawianie wszedzie null dziala i tu i tu smile.gif
Jarod
Cytat(nospor @ 2.08.2006, 14:46 ) *
Bo ty nie masz wstawiac pustej wartosci, a masz wstawiac null. Wowczas dziala jak ta lala

ps: testowalel to na polu typu DATE i TIME. Na DATE wstawia null, na TIME wstawia 00:00 (mowie o przypadku wstawiania "pustej wartosci"). Wstawianie wszedzie null dziala i tu i tu smile.gif


Nie wstawia. Przynajmniej nie ze skryptu php
nospor
pokaz ten skrypt bo mi sie wierzyc nie chce.

edit:
tak sobie mysle, ze ty moze wstawiasz napis null: 'null'
a powinienes wstawiac null, bez apostrofow. Takie bledy juz widzialem na forum smile.gif
Jarod
Cytat(nospor @ 2.08.2006, 15:15 ) *
pokaz ten skrypt bo mi sie wierzyc nie chce.

edit:
tak sobie mysle, ze ty moze wstawiasz napis null: 'null'
a powinienes wstawiac null, bez apostrofow. Takie bledy juz widzialem na forum smile.gif



  1. <?php
  2. // Jeśli przekazano dane do zapisu to zapisujemy je do bazy
  3. if ( ($_GET['tryb'] == 'z') && !empty($id) )
  4. {
  5. // sprawdzamy czy godzina została podana w poprawnym formacie, jeśli ni wstawiam N
    ULL
  6. if ( walidacjaGodziny($_POST['slot']) == '' ) $_POST['slot'] = NULL;
  7. if ( walidacjaGodziny($_POST['a_godzina']) == '' ) $_POST['a_godzina'] = NULL;
  8. if ( walidacjaGodziny($_POST['b_godzina']) == '' ) $_POST['b_godzina'] = NULL;
  9.  
  10. $query = 'UPDATE rampa SET '.
  11.  'znaki_ac=''.mysql_escape_string($_POST['znaki_ac']).'', '.
  12.  'slot=''.mysql_escape_string($_POST['slot']).'', '.
  13.  'aktualna_godzina1=''.mysql_escape_string($_POST['a_godzina']).'', '.
  14.  'stanowisko=''.mysql_escape_string($_POST['stanowisko']).'', '.
  15.  'plyta_radio=''.mysql_escape_string($_POST['plyta_radio']).'', '.
  16.  'aktualna_godzina2=''.mysql_escape_string($_POST['b_godzina']).'', '.
  17.  'oac=''.mysql_escape_string($_POST['oac']).'' '.
  18.  'WHERE rampa_id='.$id;
  19.  
  20. $result = mysql_query($query) or die ('Zapytanie nieudane!');
  21. }
  22. ?>
nospor
Robisz dokladnie to co napisalem:
Cytat
tak sobie mysle, ze ty moze wstawiasz napis null: 'null'
a powinienes wstawiac null, bez apostrofow. Takie bledy juz widzialem na forum

Co z tego ze ty przypiszesz dla zmiennej wartosc null, skoro ty potem to bierzesz w apostrof. na dodatek otrzymasz nie 'null' a '', gdyz null php to inny null niz mysql smile.gif

Podam ci przyklad, a ty se go dostsouj:
  1. <?php
  2. if ( walidacjaGodziny($_POST['slot']) == '' ) $slot = 'null';
  3. else $slot="'{$_POST['slot']}'";
  4.  
  5. $zapytanie = "......'jakies pole', 'jakiespole2', $slot,.....";
  6. ?>
Jarod
Cytat(nospor @ 2.08.2006, 15:34 ) *
Robisz dokladnie to co napisalem:

Co z tego ze ty przypiszesz dla zmiennej wartosc null, skoro ty potem to bierzesz w apostrof. na dodatek otrzymasz nie 'null' a '', gdyz null php to inny null niz mysql smile.gif


Pokaż mi gdzie go wstawiam w apostrofie? blinksmiley.gif

Cytat(nospor @ 2.08.2006, 15:34 ) *
Podam ci przyklad, a ty se go dostsouj:
  1. <?php
  2. if ( walidacjaGodziny($_POST['slot']) == '' ) $slot = 'null';
  3. else $slot="'{$_POST['slot']}'";
  4.  
  5. $zapytanie = "......'jakies pole', 'jakiespole2', $slot,.....";
  6. ?>

Dlaczego muszę pisać
  1. <?php
  2. $slot = 'null';
  3. else $slot="'{$_POST['slot']}'";
  4. ?>
?
Nie mogę przypisać do wartości null do $_POST[slot'] ?
nospor
Cytat
Pokaż mi gdzie go wstawiam w apostrofie?

Alez prosze cie bardzo:
'slot=\''.mysql_escape_string($_POST['slot']).'\', '.
tutaj smile.gif W $_POST masz null, ale ty to bierzesz potem w apostrof. pozatym pisalem ci ze null php to nie to samo co null mysql

przeanalizuj se jeszcze raz dokladnie moj sposob, wyswietl zapytanie jakie on generuje, bo nie mam sily ci juz dzis tego tlumaczyc. wloz troche swoich wysilkow.
Jarod
Cytat(nospor @ 2.08.2006, 16:37 ) *
Alez prosze cie bardzo:
'slot=\''.mysql_escape_string($_POST['slot']).'\', '.
tutaj smile.gif W $_POST masz null, ale ty to bierzesz potem w apostrof. pozatym pisalem ci ze null php to nie to samo co null mysql

przeanalizuj se jeszcze raz dokladnie moj sposob, wyswietl zapytanie jakie on generuje, bo nie mam sily ci juz dzis tego tlumaczyc. wloz troche swoich wysilkow.


Masz racje. Już wiem gdzie robiłem błąd . Dziękuje
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.