sqlc icon indicating copy to clipboard operation
sqlc copied to clipboard

copyfrom in MySQL with sqlc does not recognize reserved keywords and does not escape column names manually or automatically

Open Umamad opened this issue 4 months ago • 1 comments

Summary

Using :copyfrom in MySQL with sqlc and column names that are reserved keywords like create, read, update, delete fails with a MySQL syntax error, even if escaped.

Expected behavior

sqlc should either:

  • Automatically escape column names in the generated LOAD DATA LOCAL INFILE statement, or
  • Respect backticks in -- columns: directive

Actual behavior

The generated Go code produces a raw SQL string like:

LOAD DATA LOCAL INFILE 'Reader::xyz' INTO TABLE `role_system` (...) (role_id, system_id, create, read, update, delete)

Umamad avatar Jun 08 '25 17:06 Umamad