1
我有一个使用sql lite插件的cordova windows应用程序。现在看到两个查询做同样的:Sql lite“给定的密钥不在字典中”
1) "CREATE TABLE IF NOT EXISTS Settings (setting TEXT PRIMARY KEY, value TEXT NOT NULL)";
2) "CREATE TABLE IF NOT EXISTS Settings (setting TEXT, value TEXT NOT NULL, PRIMARY KEY(setting))";
不幸的是,当
"PRAGMA foreign_keys = ON";
不幸的是我有多个列的主键的表,第二个会失败,因此需要第二个语法。
example: PRIMARY KEY(setting, value)
任何想法为什么以及如何解决?
代码:
let db = window.openDatabase("MFS", "", "MFS database", 52428800);
db.transaction((tx) => {
let query1 = "CREATE TABLE IF NOT EXISTS Settings (setting TEXT PRIMARY KEY, value TEXT NOT NULL)",
query2 = "CREATE TABLE IF NOT EXISTS Settings (setting TEXT, value TEXT NOT NULL, PRIMARY KEY(setting))";
tx.executeSql(query1/*query2*/, [], (tx, result, query) => {
}, (tx, err, query) => {
alert(err.message);
}
});
这不是一个SQL错误消息。显示你的代码。 –
@CL.just添加了代码。我认为这是SQL错误消息。 –