表未创建或未显示:
function createTbl(){
db.transaction(function(transaction){
transaction.executeSql('CREATE TABLE IF NOT EXISTS data(id INTERGER PRIMARY KEY AUTOINCREMENT, name TEXT)');
transaction.executeSql('INSERT INTO data(name) VALUES("Someone")');
});
}
数据库在那里,但在Table上它是空的。 我认为我的代码并没有错......那浏览器会出问题吗?
答案 0 :(得分:0)
由于关键字PRIMARY KEY和AUTO_INCREMENT,代码无效,而是使用关键字UNIQUE。也不要俱乐部Unique和AUTO_INCREMENT。 这是一个有效的例子。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<script>
function runExample(){
webSql(processResultSet);
}
function webSql(callback) {
var db = openDatabase('mydb', '1.0', 'my first database', 2 * 1024 * 1024);
db.transaction(function(tx) {
tx.executeSql('CREATE TABLE IF NOT EXISTS data (id INTERGER AUTO_INCREMENT, name TEXT)');
tx.executeSql('INSERT INTO data (name) VALUES ("someone")');
});
db.transaction(function(tx) {
tx.executeSql('SELECT * FROM data', [], function(tx, results) {
callback(results);
});
});
}
function processResultSet(results) {
console.dir(results);
var len = results.rows.length;
for (var i = 0; i < len; i++) {
console.dir(results.rows.item(i));
}
}
</script>
</head>
<body onload="runExample()">
</body>
</html>