Note that there are some explanatory texts on larger screens.

plurals
  1. POAndroid: SQLiteConstraintException: error code 19: constraint failed
    text
    copied!<p>I checked other examples in SO and I searched a lot, nothing is working for me. The database file is <a href="https://stackoverflow.com/questions/20444838/failure-1syntax-error">this</a> (after suggested edit). </p> <p><strong>Error</strong></p> <pre><code>E/Database(274): android.database.sqlite.SQLiteConstraintException: error code 19: constraint failed E/Database(274): at android.database.sqlite.SQLiteStatement.native_execute(Native Method) E/Database(274): at android.database.sqlite.SQLiteStatement.execute(SQLiteStatement.java:55) E/Database(274): at android.database.sqlite.SQLiteDatabase.insertWithOnConflict(SQLiteDatabase.java:1549) E/Database(274): at android.database.sqlite.SQLiteDatabase.insert(SQLiteDatabase.java:1410) E/Database(274): at com.example.nycgasstationhunter.userRegister$2.onClick(userRegister.java:51) E/Database(274): at android.view.View.performClick(View.java:2408) E/Database(274): at android.view.View$PerformClick.run(View.java:8816) E/Database(274): at android.os.Handler.handleCallback(Handler.java:587) E/Database(274): at android.os.Handler.dispatchMessage(Handler.java:92) E/Database(274): at android.os.Looper.loop(Looper.java:123) E/Database(274): at android.app.ActivityThread.main(ActivityThread.java:4627) E/Database(274): at java.lang.reflect.Method.invokeNative(Native Method) E/Database(274): at java.lang.reflect.Method.invoke(Method.java:521) E/Database(274): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868) E/Database(274): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626) E/Database(274): at dalvik.system.NativeStart.main(Native Method) </code></pre> <p><strong>Code</strong></p> <pre><code>import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.Toast; import android.app.Activity; import android.content.ContentValues; import android.content.Context; import android.content.Intent; import android.database.sqlite.SQLiteDatabase; public class userRegister extends Activity{ //database SQLiteDatabase db; DBHelper dbhelper; Context ourContext; ContentValues cv; public void onCreate (Bundle savedInstanceState){ super.onCreate(savedInstanceState); setContentView(R.layout.activity_user_register); //database dbhelper=new DBHelper(this); db=dbhelper.getWritableDatabase(); cv=new ContentValues(); //editText final EditText userEdit=(EditText) findViewById(R.id.userEdit); final EditText emailEdit=(EditText) findViewById(R.id.emailEdit); final EditText passwordEdit=(EditText) findViewById(R.id.passwordEdit); final EditText retypePassEdit=(EditText) findViewById(R.id.retypePassEdit); //Register button Button regButton = (Button) findViewById(R.id.regButton); regButton.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { //string final String userName=userEdit.getText().toString(); final String emailAddress=emailEdit.getText().toString(); final String password=passwordEdit.getText().toString(); final String retypePassword=retypePassEdit.getText().toString(); if (userName.length()!=0){ if (emailAddress.length()!=0){ if (password.length()!=0){ if (retypePassword.equals(password)){ //save in DB cv.put(DBHelper.USER, userName); cv.put(DBHelper.EMAIL,emailAddress); cv.put(DBHelper.PASSWORD, retypePassword); db.insert(DBHelper.USER_TABLE, null, cv); Intent intent = new Intent (userRegister.this,Profile.class); startActivity(intent); } else Toast.makeText(userRegister.this,"Password mismatch", Toast.LENGTH_SHORT).show(); } else Toast.makeText(userRegister.this,"Invalid password", Toast.LENGTH_SHORT).show(); } else Toast.makeText(userRegister.this,"Invalid email", Toast.LENGTH_SHORT).show(); } else Toast.makeText(userRegister.this,"Invalid user name", Toast.LENGTH_SHORT).show(); } }); } } </code></pre> <p>When I insert information and press regButton, it sends me to Profile activity. There is no information being saved in database. I don't understand the error in LogCat and how can I solve that? Why there is nothing in database? (I am using <a href="http://sourceforge.net/projects/sqlitebrowser/?source=dlp" rel="nofollow noreferrer">SQLite Database Browser</a> to check data.) Thank you </p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload