Sqlite参数化插入查询(转义)

Sqlite Parameterized insert query (escape)

您好,我尝试使用 SQLite 参数化查询 但在列名中是一个点 (.)

INSERT INTO Data (`test.1`, `test.2`, `test.3`) VALUES (@test.1, @test.3,@test.3)

Returns

"SQL logic error or missing database near ".": syntax error"

INSERT INTO Data (`test.1`, `test.2`, `test.3`) VALUES ([@test.1], [@test.3],[@test.3])

Returns

"SQL logic error or missing database no such column: @test.1"

如何转义点并仍然使用名称作为参数!?

SQLite中的"proper"转义字符为双引号:

INSERT INTO Data("test.1", "test.2", "Test.3")
    VALUES ([@test1], [@test3], [@test3])

将参数名称中的 . 保留下来——大概您可以控制它。

SQLite 明确支持与 MySQL 兼容的反引号和与 MS Access 和 SQL 服务器兼容的方括号。 (正如您在 documentation 中看到的那样。)