Hi, Federico!

On Dec 11, Federico Razzoli wrote:
> Hi! MySQL 5.6 returns a warning for wrong datatypes, with any SQL_MODE:
> 
> mysql> CREATE TABLE t (c TIMESTAMP) ENGINE=InnoDB;
> Query OK, 0 rows affected (0,31 sec)
> 
> mysql> SELECT c FROM t WHERE c = 1;
> Empty set, 1 warning (0,00 sec)

> Warning (Code 1292): Incorrect datetime value: '1' for column 'c' at row 1
> 
> Will this be done in MariaDB 10 too? Currently, no warning is issued.

This is intentional. You get a warning if you do, for example

  INSERT t VALUES (1);

because in this case a decimal value 1 is converted into a TIMESTAMP.

But for comparison purposes you only need to know whether c is equal to
1 or not. You did not request any conversion, you only asked the server
whether these values are equal. Thus you should not expect any warnings
either.

Regards,
Sergei


_______________________________________________
Mailing list: https://launchpad.net/~maria-discuss
Post to     : maria-discuss@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-discuss
More help   : https://help.launchpad.net/ListHelp

Reply via email to