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 中看到的那样。)
您好,我尝试使用 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 中看到的那样。)