Description:
Hi,
There are two equivalent INSERT, one in normal form and another in prepared form. However, the normal one triggers an error but the prepared one inserts a wrong value.
```
CREATE TABLE IF NOT EXISTS t1(c0 SMALLINT(10)) ;
INSERT INTO t1(c0) VALUES("\n9");
-- ERROR 1366 (HY000) at line 5: Incorrect integer value: '
-- 9' for column 'c0' at row 1
```
```
CREATE TABLE IF NOT EXISTS t1(c0 SMALLINT(10)) ;
SET @a = "\n9";
PREPARE prepare_query FROM 'INSERT INTO t1(c0) VALUES(?)';
EXECUTE prepare_query USING @a;
DEALLOCATE PREPARE prepare_query;
SELECT * FROM t1; -- 9
```
How to repeat:
```
CREATE TABLE IF NOT EXISTS t1(c0 SMALLINT(10)) ;
INSERT INTO t1(c0) VALUES("\n9");
-- ERROR 1366 (HY000) at line 5: Incorrect integer value: '
-- 9' for column 'c0' at row 1
```
```
CREATE TABLE IF NOT EXISTS t1(c0 SMALLINT(10)) ;
SET @a = "\n9";
PREPARE prepare_query FROM 'INSERT INTO t1(c0) VALUES(?)';
EXECUTE prepare_query USING @a;
DEALLOCATE PREPARE prepare_query;
SELECT * FROM t1; -- 9
```
Description: Hi, There are two equivalent INSERT, one in normal form and another in prepared form. However, the normal one triggers an error but the prepared one inserts a wrong value. ``` CREATE TABLE IF NOT EXISTS t1(c0 SMALLINT(10)) ; INSERT INTO t1(c0) VALUES("\n9"); -- ERROR 1366 (HY000) at line 5: Incorrect integer value: ' -- 9' for column 'c0' at row 1 ``` ``` CREATE TABLE IF NOT EXISTS t1(c0 SMALLINT(10)) ; SET @a = "\n9"; PREPARE prepare_query FROM 'INSERT INTO t1(c0) VALUES(?)'; EXECUTE prepare_query USING @a; DEALLOCATE PREPARE prepare_query; SELECT * FROM t1; -- 9 ``` How to repeat: ``` CREATE TABLE IF NOT EXISTS t1(c0 SMALLINT(10)) ; INSERT INTO t1(c0) VALUES("\n9"); -- ERROR 1366 (HY000) at line 5: Incorrect integer value: ' -- 9' for column 'c0' at row 1 ``` ``` CREATE TABLE IF NOT EXISTS t1(c0 SMALLINT(10)) ; SET @a = "\n9"; PREPARE prepare_query FROM 'INSERT INTO t1(c0) VALUES(?)'; EXECUTE prepare_query USING @a; DEALLOCATE PREPARE prepare_query; SELECT * FROM t1; -- 9 ```