Websql Abfrage insert

Ich bin neu websql.i kann nicht Primärschlüssel in Websql insert.

Abfrage erstellen

db.transaction(function (tx) { var sql = "CREATE TABLE vehicles ( "+ "id integer primary key autoincrement,"+ "vehicle_ref_no VARCHAR(255),"+ "vehicle_plate_no VARCHAR(255),"+ )"; tx.executeSql(sql); }); 

Abfrage insert

  db.transaction( function (tx) { tx.executeSql( "INSERT INTO vehicles VALUES (?, ?)", [data.vehicle_ref_no, data.vehicle_plate_no, ], function (tx, result) { console.log("Query Success"); }, function (tx, error) { console.log("Query Error: " + error.message); } ); }, function (error) { console.log("Transaction Error: " + error.message); }, function () { console.log("Transaction Success"); } ); 

Dieser Code fügt den Autoincrement-Wert nicht hinzu. Irgendwelche Ideen? Gibt es eine gute Methode, dies zu tun, außer was ich tue?

Solutions Collecting From Web of "Websql Abfrage insert"

Ihre INSERT statement ist falsch. Sie sollten entweder Namen anderer Spalten als id

 INSERT INTO vehicles (vehicle_ref_no, vehicle_plate_no) VALUES (?, ?); 

oder NULL für id

 INSERT INTO vehicles (id, vehicle_ref_no, vehicle_plate_no) VALUES (NULL, ?, ?); 

oder nur

 INSERT INTO vehicles VALUES (NULL, ?, ?); 

Hier ist SQLFiddle Demo

  public insertData(vehicle_details) { let insert_query = "INSERT INTO vehicles VALUES (?, ?)"; this.db.executeSql(insert_query, [vehicle_details.vehicle_ref_no, vehicle_details.vehicle_plate_no]).then((data) => { console.log(' records inserted'); }), (error) => { console.log('ERROR occurred in inserting records'); } }