| Bug #74914 | MySQL WorkBench 6.2.3 gives error with files UTF-8 (works fine UTF-8 w /oBOM) | ||
|---|---|---|---|
| Submitted: | 18 Nov 2014 15:01 | Modified: | 20 Nov 2014 22:38 |
| Reporter: | Marco Del Corto | Email Updates: | |
| Status: | Verified | Impact on me: | |
| Category: | MySQL Workbench: SQL Editor | Severity: | S3 (Non-critical) |
| Version: | 6.2.3 | OS: | Windows (8.1) |
| Assigned to: | CPU Architecture: | Any | |
| Tags: | MySQL WorkBench 6.2.3, sql editor, UTF-8 w / o BOM | ||
[18 Nov 2014 15:01]
Marco Del Corto
[18 Nov 2014 16:46]
MySQL Verification Team
Please provide a test file to repeat the issue. Thanks.
[18 Nov 2014 17:32]
Marco Del Corto
Sample File with explanatory screenshot
Attachment: sample_file.zip (application/zip, text), 131.30 KiB.
[18 Nov 2014 17:49]
Marco Del Corto
How to repeat (errata corrige) To repeat the error execute in SQL Editor of MySQL Workbench a file with Encoding UTF-8.
[20 Nov 2014 22:38]
MySQL Verification Team
Thank you for the feedback.
[3 Jan 2017 14:34]
Krys Bromek
This issue affects us in the latest Workbench 6.3.8.
We are trying to run a script with a create Table statement in it, I pasted the script at the end.
With Windows style end of line marking (CR LF) we receive a syntax error 1064 with a script IF you open it in the Editor and then attempt to Execute (All or Selection).
Error Code: 1064. You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'CREATE TABLE IF NOT EXISTS profile(' at line 1
Script executes happily with the 'Execute (All or Selection)'
- if the file has Unix style coding with LF only as line ending.
For end-of-line CR LF, the script can be executed with the 'Execute (All or Selection)':
- if you HIGHLIGHT ALL of the script but only by dragging TOP-TO-BOTTOM!
(Ctr-A or bottom-to-top dragging does highlight, but still provides failure when attempting to Execute the Execute (All or Selection))
- if you do not open the script in the editor but instead execute the
File/Run SQL Script/ [ name of the script]
Steps to failure:
Open the SQL script containing (CR LF) in the Workbench Editor:
File/Open SQL Script -> [select file]
and attempt to run it by
pressing the lightning symbol or
Query/'Execute (All or Selection)' or
Qtrl-Shift-Enter
message:
Error Code: 1064. You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'CREATE TABLE IF NOT EXISTS profile(' at line 1
script:
CREATE TABLE IF NOT EXISTS profile(
ID BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
NAME VARCHAR(255) NOT NULL,
TRANSCODER_TYPE INT(10) UNSIGNED NOT NULL,
PRIMARY KEY (ID),
UNIQUE INDEX NAME (NAME),
INDEX PROFILE_IDX01 (ID)
)
ENGINE = INNODB
AUTO_INCREMENT = 14
AVG_ROW_LENGTH = 1260
CHARACTER SET utf8
COLLATE utf8_general_ci;
[3 Jan 2017 16:51]
Krys Bromek
To add to the previous comment I have confirmed with a selection of the files, that the SQL script files which have the "EF BB BF" BOM pre-amble in the octal dump are the ones that fail unless you highlight text visible in the editor starting from the first visible character. Presumably, Ctrl-A or start highlighting from the end selects the BOM sequence too and the Execution fails.
