MySQL 1264 warning from libthesql


I'm using the libmysql.dll library to connect to my database from a 3rd party application (metatrader).

I managed to connect and things are going almost fine. I use mysql_real_connect and mysql_errno for connecting and capturing possible errors. I'm using the InnoDB engine and STRICT_TRANS_TABLES in SQL mode.

Questions / Doubts:

  1. I thought mysql_errno only captures errors and not warnings, but I'm getting a 1264 MySQL warning in metatrader (1264 SQLSTATE: 22003 (ER_WARN_DATA_OUT_OF_RANGE)), however it doesn't say where. How can I resolve this?

  2. If I try to manually UPDATE or INSERT against my database I get no warnings and/or errors.

I would like to know if this is a libmysql bug or find out what's going on. Perhaps there is a specific table/field responsible?

Any pointers?

Best Answer

check my.inior my.cnf if its contain sql-mode = "STRICT_TRANS_TABLES, NO_AUTO_CREATE_USER, NO_ENGINE_SUBSTITUTION" if so you need to change it to sql-mode = "NO_AUTO_CREATE_USER, NO_ENGINE_SUBSTITUTION" then restart the SID service. Hope that will fix the issue for you