我在使用 SQLite 数据库时遇到了一个奇怪的问题,特别是对 UPDATE 查询的数据验证。所以让我开始吧,如果我使用以下查询,当我尝试运行它时会出现“数据类型不匹配”错误。这是正确的和预期的,因为字段类型被标记为整数。
INSERT OR REPLACE INTO Table ('Column') VALUES ('shouldFail')
但是,人们也期望以下 UPDATE 查询应该返回相同的“数据类型不匹配”错误,但事实并非如此。我可以很好地运行以下查询,这使我可以在仅标记为 INTEGER 的列中得到一个“字符串”数据类型......
UPDATE Table SET 'Column'='shouldFail' WHERE SecondColumn = 'Some value'
那么谁能告诉我为什么 SQL 数据类型验证在第一个查询上有效,而在第二个查询上无效?
非常感谢山姆