gpt4 book ai didi

sql - Cordova/Sqlite 外键

转载 作者:行者123 更新时间:2023-12-03 16:16:52 27 4
gpt4 key购买 nike

我正在尝试使用 Cordova 和 sqlite 运行一个简单的示例

这是我的javascript代码`

var dbName = "PresentationDB";
var dbVersion = "1.0";
var bdSize = 100000;
var displayName = "TTPresentationDB";
var db = null;

var app = {


initialize: function() {
this.bindEvents();
},
bindEvents: function() {
document.addEventListener('deviceready', this.onDeviceReady, false);
},

onDeviceReady: function() {
app.receivedEvent('deviceready');
db = createdb();
alert(db);
db.transaction(populatedb,errorCallBack,successCallBack);

},
// Update DOM on a Received Event
receivedEvent: function(id) {

console.log('Received Event: ' + id);
}



};

app.initialize();


function createdb()
{

if (!window.openDatabase)
{
alert("Your browser does not support openDatabase");
}
alert("creating db..");
return window.openDatabase(dbName, dbVersion, displayName, bdSize);

}


function populatedb(tx)
{
tx.executeSql('CREATE TABLE IF NOT EXISTS PAGE (id_page INTEGER PRIMARY KEY
AUTOINCREMENT, title VARCHAR(255), description TEXT, num_visits DATE,
last_visited DATE)');
tx.executeSql('CREATE TABLE IF NOT EXISTS CONTENT (id_content INTEGER PRIMARY
KEY AUTOINCREMENT, FOREIGN KEY(id_page) REFERENCES PAGE (id_page))');
tx.executeSql('CREATE TABLE IF NOT EXISTS ARTICLE (id_article INTEGER PRIMARY
KEY AUTOINCREMENT, title VARCHAR(255), text TEXT, description TEXT, FOREIGN
KEY (id_page) REFERENCES PAGE (id_page))');
tx.executeSql('INSERT INTO PAGE (title, description, num_visits,
last_visited) VALUES ("First Page", "Test Page", CURRENT_TIME,
CURRENT_TIME)');
tx.executeSql('INSERT INTO CONTENT (id_page) VALUES (1)');
tx.executeSql('INSERT INTO ARTICLE (title, text, description, id_page) VALUES
("Article 1 Page 1", "Test Article", 1)');
tx.executeSql('INSERT INTO ARTICLE (title, text, description, id_page) VALUES
("Article 2 Page 1", "Test Article", 1)');


}

function successCallBack()
{
alert("Sucess");
//alert("Returned rows = " + results.rows.length);
}


function errorCallBack(tx, err)
{
alert("Error : " + err );
}

function queryDB(tx)
{
tx.executeSql('SELECT * FROM DEMO', [], querySuccess, errorCB);

}

`

我添加外键时的行导致错误,有没有办法为 SQLITE 和 Cordova 创建关系数据库?

最佳答案

外键也应定义为属性。

CREATE TABLE IF NOT EXISTS CONTENT (id_content INTEGER PRIMARY
KEY AUTOINCREMENT,id_page INTEGER, FOREIGN KEY(id_page) REFERENCES PAGE (id_page))'

一起工作正常Web SQL Sqlite 插件 .

关于sql - Cordova/Sqlite 外键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31268269/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com