浏览器或代码错误?网络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")'); 
    }); 
} 

数据库是存在的,但在表是空的。 我的代码没有错我相信...那个浏览器有问题吗?

+0

您应该将您使用的浏览器添加到您的问题中。 – 2013-04-03 21:35:34

+4

INTERGER => INTEGER – ZippyV 2013-04-03 21:36:02

+0

SORRY!谷歌Chrome浏览器/ Safari浏览器是最新的。 – user2238744 2013-04-03 21:39:19

由于关键字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>