title: ID SQLite doesn't autoincrement
body: <p>I have this code:</p>
  
  <pre><code>package com.example.jessi.moopooh;
  
  import android.content.ContentValues;
  import android.content.Context;
  import android.database.Cursor;
  import android.database.sqlite.SQLiteDatabase;
  import android.database.sqlite.SQLiteOpenHelper;
  
  import java.util.ArrayList;
  import java.util.List;
  
  /**
   * Created by jessi on 17/06/2016.
   */
  public class BDJuego extends SQLiteOpenHelper {
      private static final String NOMBRE_BD = "bdmoopooh.db";
      private static final int VERSION_BD  = 1;
      private static final String TABLA_PUNTUACIONES = "CREATE TABLE puntuaciones" +
              "(_id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, nombre_juego TEXT NOT NULL, nombre_nivel TEXT NOT NULL, puntos INTEGER NOT NULL, UNIQUE(_id, nombre_nivel))";
  
      public BDJuego(Context context) {
          super(context, NOMBRE_BD, null, VERSION_BD);
      }
  
      @Override
      public void onCreate(SQLiteDatabase db) {
          db.execSQL(TABLA_PUNTUACIONES);
  
      }
  
      @Override
      public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
          db.execSQL("DROP TABLE IF EXISTS " + TABLA_PUNTUACIONES);
          onCreate(db);
  
      }
  
      public void insertarPuntuaciones(String nombre_juego, String nombre_nivel, int puntos) {
          SQLiteDatabase db = getWritableDatabase();
          if(db != null){
              ContentValues valores = new ContentValues(); //como su nombre indica es un almacenador de un conjunto de datos
              //valores.put("_id", id);
              valores.put("nombre_juego", nombre_juego);
              valores.put("nombre_nivel", nombre_nivel);
              valores.put("puntos", puntos);
              db.insert("puntuaciones", null, valores);
              db.close();
          }
      }
  
      //Este método no sé si lo usaré
      public void modificarPuntuaciones(int id,String nombre_juego, String nombre_nivel, int puntos){
          SQLiteDatabase db = getWritableDatabase();
          ContentValues valores = new ContentValues();
         // valores.put("_id", id);
          valores.put("nombre_juego", nombre_juego);
          valores.put("nombre_nivel", nombre_nivel);
          valores.put("puntos", puntos);
          db.update("puntuaciones", valores, "_id=" + id, null);
          db.close();
      }
      //Este método no sé si lo usaré
      public void borrarPuntuaciones(int id) {
          SQLiteDatabase db = getWritableDatabase();
          db.delete("puntuaciones", "_id="+id, null);
          db.close();
      }
      //Recuperar solo una puntuacion. No sé si lo usaré
      public Puntuaciones recuperarPuntuacion(int id) {
          SQLiteDatabase db = getReadableDatabase();
          String[] valores_recuperar = {"_id", "nombre_juego", "nombre_nivel", "puntos"};
          Cursor c = db.query("contactos", valores_recuperar, "_id=" + id,
                  null, null, null, null, null); // El método query nos devolverá un Cursor que podremos recorrer para recuperar todos los registros de la base de datos
          if(c != null) {
              c.moveToFirst();
          }
          Puntuaciones puntuaciones = new Puntuaciones(c.getString(1),
                  c.getString(2), c.getInt(3));
          db.close();
          c.close();
          return puntuaciones;
      }
  
      //Recuperar todas las puntuaciones
      public List&lt;Puntuaciones&gt; recuperarTodasLasPuntuaciones() {
          SQLiteDatabase db = getReadableDatabase();
          List&lt;Puntuaciones&gt; lista_puntuaciones = new ArrayList&lt;Puntuaciones&gt;();
          String[] valores_recuperar = {"_id", "nombre_juego", "nombre_nivel", "puntos"};
          Cursor c = db.query("puntuaciones", valores_recuperar,
                  null, null, null, null, null, null);
          c.moveToFirst();
          do {
              Puntuaciones puntuaciones = new Puntuaciones(c.getString(1),
                      c.getString(2), c.getInt(3));
              lista_puntuaciones.add(puntuaciones);
          } while (c.moveToNext());
          db.close();
          c.close();
          return lista_puntuaciones;
      }
  }
  </code></pre>
  
  <p>But I don't know why id doesn't autoincrement and colum id and colum nombre_nivel are unique but the db allow me insert data with the same name... what is the problem?</p>