You've got to enable ANSI quotes for both servers. If you do that you could use double quotes to quote your identifiers.
For MySQL:
SET sql_mode = 'ANSI_QUOTES'
Treat “"” as an identifier quote character (like the “” quote
character) and not as a string quote character. You can still use “
”
to quote identifiers with this mode enabled. With ANSI_QUOTES enabled,
you cannot use double quotation marks to quote literal strings,
because it is interpreted as an identifier.
For MS SQL Server.
SET QUOTED_IDENTIFIER ON
Causes SQL Server to follow the ISO rules regarding quotation mark
delimiting identifiers and literal strings. Identifiers delimited by
double quotation marks can be either Transact-SQL reserved keywords or
can contain characters not generally allowed by the Transact-SQL
syntax rules for identifiers.
Now you can write the single query that works for both, MS SQL Server and MySQL:
UPDATE queries q
SET q."Default" = 0
WHERE q."TYPE" = 4
And before I forget it: best way out of such problems is to avoid reserved words as identifiers, see solution 1. You've got to avoid reserved words of all involved worlds (T-SQL and the sql dialect of MySQL).