Ako obídem General error: 1364 Field ‚x‘ doesn't have a default value

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
Čamo
Člen | 798
+
0
-

Zdravím, prosím vás dostal som už rozbehnutý projekt, ktorý proste ráta s tým, že databáza akceptuje pri vkladaní chýbajúce hodnoty. Teda hodnoty stĺpcov, ktoré sú nastavené na NOT NULL a NO DEFAULT VALUE. No a mne to všade vyhadzuje General error: 1364 Field ‚xxxx‘ doesn't have a default value.
Ako som sa dozvedel http://stackoverflow.com/…lue/40159355#… tak toto sa dá nastaviť pri pripájaní k databáze.
Ako by to malo podľa vás vyzerať v NEONe? Dá sa to vôbec v Nette Database nastaviť?

Ďakujem.

Editoval Čamo (20. 10. 2016 18:20)

CZechBoY
Člen | 3608
+
0
-

Po pripojeni k db spustis prikaz.
Ja jsem si nastavil svuj MysqlDriver a tam na udalost onConnect navesim query s nastavenim session.

Čamo
Člen | 798
+
0
-

Hmm keď to napíšem ako sql

$this->database->query('SET SESSION sql_mode = NO_ENGINE_SUBSTITUTION');

tak to funguje. Lenže to nemám kde dať. Radšej by som to mal v NEONe ale toto

sql_mode: NO_ENGINE_SUBSTITUTION

mi nepomáha…

Editoval Čamo (20. 10. 2016 19:45)

Čamo
Člen | 798
+
+1
-

Pána beka, v NEONe to vyzerá takto:

options:
	PDO::MYSQL_ATTR_INIT_COMMAND: 'SET sql_mode="NO_ENGINE_SUBSTITUTION"'