Bug #86399 Same as bug 76386 reported in 2015
Submitted: 22 May 2017 8:47 Modified: 6 Jul 2017 9:22
Reporter: Reginald Lather Email Updates:
Status: Verified Impact on me:
None 
Category:MySQL Workbench: SQL Editor Severity:S2 (Serious)
Version:6.3.9 community OS:Windows
Assigned to: CPU Architecture:Any

[22 May 2017 8:47] Reginald Lather
Description:
This is identical to a previously reporte and fixed bug - 76386

When editing a varbinary field in result grid, mysql-workbench-6.3.9 reports an error like following:

--------------------------------------
Operation failed: There was an error while applying the SQL script to the database.
Executing:
INSERT INTO `test`.`varbinary` (`a`) VALUES ('asdf');

ERROR 0: 0: MySQL_Prepared_Statement::setBlob: invalid 'parameterIndex'
SQL Statement:
INSERT INTO `test`.`varbinary` (`a`) VALUES ('asdf')
--------------------------------------

it looks like mysql-workbench is trying to execute a prepared statement but the editor does not generated a prepared SQL statement, instead it generated a plain text SQL statement.

How to repeat:
1. Create a table with 1 varbinary column

CREATE TABLE `test`.`varbinary`
(
  `a` varbinary(10) NOT NULL DEFAULT '',
  PRIMARY KEY (`a`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

2. Select Rows - Limit 1000

3. In the result grid, input several characters to the `a` field, press ENTER

4. Click Apply to insert the data
[22 May 2017 11:39] MySQL Verification Team
Thank you for the bug report. Please attach a screenshot of the step 3?. Thanks.
[22 May 2017 20:53] MySQL Verification Team
Thank you for the feedback. The screenshot I want to see is the result grid with already values changed. Thanks.
[22 May 2017 22:34] Reginald Lather
I posted the details from the original bug that gave the same output as I retrieved. The only difference being that its a different version of Workbench and the database type I'm using is InnoDB.

So Sorry, but I'm not sure I understand your request. I cannot show you the  result grid with already values changed because this error prevents me from updating the values
[23 May 2017 12:32] MySQL Verification Team
Thank you for the feedback. I asked you the result grid picture because I am wondering if you have the cell grid as blob like me, so to edit I need to open it with text editor and then I don't get the issue reported.
[23 May 2017 13:02] Reginald Lather
I currently have mySQL environment set up to display blob so I don't have to keep going back and forth to 'Open Value in editor' My datatype is a BINARY(36). Hoep this helps
[23 May 2017 13:44] MySQL Verification Team
I followed your test case script then please provide your actual table create statement. Thanks.
[24 Jun 2017 1:00] Bugs System
No feedback was provided for this bug for over a month, so it is
being suspended automatically. If you are able to provide the
information that was originally requested, please do so and change
the status of the bug back to "Open".
[1 Jul 2017 9:55] Reginald Lather
For me it is the insert that is failing:

Operation failed: There was an error while applying the SQL script to the database.
Executing:
INSERT INTO `thedb`.`bed` (`bID`, `bBoID`, `bHID`, `bWID`, `bTID`, `bGID`, `bRef`, `bDR`, `bSID`, `bCreated`, `bVisible`, `bMaxLoS`, `bLoSE`, `bOnrBoID`, `bOnrHID`, `bOnrWID`, `bTS`, `bUserID`, `bBlkBk`, `bDecom`) VALUES (NULL, '239', '14917', '424', '1', '3', 'B1-04', '0', '5', '2017-07-01 10:34:11', '1', '0', '1', '239', '14917', '424', '0', 'bc350000-0d2f-11e4-b6c5-20cf3019419b', '0', '0');

ERROR 0: 0: MySQL_Prepared_Statement::setBlob: invalid 'parameterIndex'

This was working fine in previous release of workbench...
[6 Jul 2017 9:22] MySQL Verification Team
This is repeatable only when "Treat BINARY/VARBINARY as non-binary character string" setting is enabled.
[4 Sep 2024 12:46] Dmytro Kravtsov
Hello

The same issue now on MySQL 5.6 and Workbench 8.0.38. It hasn't dependency on setting "Threat Binary/Varbinary as nonbinary character string" when using graphical editor. I'm able to insert row ONLY while using native SQL INSERT statement.

Thanks in Advance