greenlion / PHP-SQL-Parser

A pure PHP SQL (non validating) parser w/ focus on MySQL dialect of SQL
BSD 3-Clause "New" or "Revised" License
602 stars 156 forks source link

Creator fails on INSERT with SET and ON DUPLICATE KEY #310

Open andrews05 opened 5 years ago

andrews05 commented 5 years ago

This statement fails with PHPSQLParser\exceptions\UnableToCreateSQLException: unknown [expr_type] = reserved in "SET" [1]

INSERT INTO `wp_options` SET `option_name` = 'some_key', `option_value` = 'some_value', `autoload` = 'yes' ON DUPLICATE KEY UPDATE `option_value` = 'some_value'
BrockleyJohn commented 3 years ago

Probably related: when parsed and reassembled, this one fails with unknown [expr_type] = reserved in "record" [2] INSERT INTO mytable (column1, column2, column3) SELECT myalias.column1, myalias.column2, 'mynewid' FROM mytable myalias WHERE myalias.column3 = 'myoldid' ON DUPLICATE KEY UPDATE column1 = VALUES(column1), column2 = VALUES(column2)