CREATE TABLE kayttajat ( id INT(10) UNSIGNED NOT NULL AUTO_INCREMENT , etunimi VARCHAR(64) NOT NULL , sukunimi VARCHAR(64) NOT NULL , rekisteroitymisajankohta TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP , muokkausajankohta TIMESTAMP NOT NULL DEFAULT '0000-00-00 00:00:00' , kirjautumisajankohta TIMESTAMP NOT NULL DEFAULT '0000-00-00 00:00:00' ) ENGINE=InnoDB CHARACTER SET latin1 COLLATE latin1_swedish_ci; INSERT INTO kayttajat ( id, etunimi, sukunimi, rekisteroitymisajankohta, muokkausajankohta, kirjautumisajankohta ) VALUES (10091, '', '', '');
Aiemmin tuo on toiminut ongelmitta, mutta nyt on ruvennut herjaamaan tällaista:
Warning: #1265 Data truncated for column 'rekisteroitymisajankohta' at row 1
Warning: #1265 Data truncated for column 'muokkausajankohta' at row 1
Warning: #1265 Data truncated for column 'kirjautumisajankohta' at row 1
Mikähän tuossa mahtaa olla pielessä?
Oletko tätä lukenut:
https://stackoverflow.com/questions/18089240/
Auttaa ehkä, jos laitat INSERT-kyselyyn yhtä monta saraketta ja arvoa ja vieläpä sisällöltään sopivat arvot (eli viimeisiin sarakkeisiin kelvolliset aikaleimat). Jos et halua syöttää aikaleimoja, jätä ne kokonaan pois kyselystä eli jätä sarakelistaksi vain (id, etunimi, sukunimi).
En ole varma muistanko oikein mutta joissakin MySQL-versioissa ei käy: 0000-00-00 00:00:00 oletusarvona.
Vai oliko niin, että jos my.ini, eli itse MySQL:n asetuksissa sql_mode-kohdassa on tietyt arvot niin yllä oleva oletusarvo ei käy.
Onko sinulla oma palvelin vai vain webhotelli? Mm. jos on oma Virtual Private Server niin sql_moden vaihtaminen on mahdollista ja taas jos sinulla on vain Webhotel niin on mahdollista, että palvelun tarjoajasi ei suostu muuttamaan ks. asetusta.
Aihe on jo aika vanha, joten et voi enää vastata siihen.