![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 9 Pomógł: 0 Dołączył: 22.11.2007 Ostrzeżenie: (0%) ![]() ![]() |
Mam taki problemik z błędem default value. Mianowicie :
Tworzymy tabelkę : CREATE TABLE `test` ( `id` int(11) NOT NULL auto_increment, `pole_a` varchar(255) NOT NULL, `pole_b` varchar(255) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=latin2 Przy próbie insertu -> INSERT INTO test (pole_a) VALUES ('aaaaa'); dostaje komunikat -> Field 'pole_b' doesn't have a default value Wszytko oczywiste pole_b nie ma ustawionej domyślnej wartości. Takie komunikaty dostaję na moim serwerze lokalnym. Gdy wchodzę na maszynę zewnętrzną na której są umieszczone skrypty php z tymi insertami. Baza je przyjmuje bez problemu. Wpisując w pole_b pustą wartość. Między tabelami nie ma różnic w strukturze. Szukałem też w konfiguracji jakiś różnic i nic. Jest jakaś opcja globalnego ustawiania default value ? |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 12 Pomógł: 0 Dołączył: 19.06.2008 Ostrzeżenie: (0%) ![]() ![]() |
pole_b ma NOT NULL czyli nie moze byc wartosc NULL
zamiast tego sproboj
Ten post edytował bomblix 27.01.2009, 16:58:22 -------------------- bomblix.com
Tworzenie stron www |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 9 Pomógł: 0 Dołączył: 22.11.2007 Ostrzeżenie: (0%) ![]() ![]() |
No tak by zadziałało. Ale jak zassam set plików nie będę poprawiał każdego.
Thx za odzew, ale między czasie znalazłem rozwiązanie. W pliku ko konfiguracyjnym miałem linie: sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION" opis tutaj : http://dev.mysql.com/doc/refman/5.0/en/server-sql-mode.html Po prostu mysql jak nie dostał wartości to sypał błędem. A na serwerze online nie. Zakomentowanie tej linii usunęło ten problem. |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 16.07.2025 - 08:24 |