浏览器或代码错误?网络SQL犯规创建表
问题描述:
它不产生或不显示该表:浏览器或代码错误?网络SQL犯规创建表
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")');
});
}
数据库是存在的,但在表是空的。 我的代码没有错我相信...那个浏览器有问题吗?
答
由于关键字PRIMARY KEY和AUTO_INCREMENT,代码不起作用,而是使用关键字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>
您应该将您使用的浏览器添加到您的问题中。 – 2013-04-03 21:35:34
INTERGER => INTEGER – ZippyV 2013-04-03 21:36:02
SORRY!谷歌Chrome浏览器/ Safari浏览器是最新的。 – user2238744 2013-04-03 21:39:19