title: Constraint failed UNIQUE constraint failed
body: <p>I created several programs, that connected to the same database. And this code at one point stopped working with exception:</p>
  
  <blockquote>
    <p>constraint failed UNIQUE constraint failed: moz_cookies.name,
    moz_cookies.host, moz_cookies.path, moz_cookies.origin Attributes.</p>
  </blockquote>
  
  <p>What should I do next?</p>
  
  <pre><code>using System;
  using System.Collections.Generic;
  using System.Data;
  using System.Data.SQLite;
  using System.Linq;
  
  
  namespace ReflCookie
  {
      class CookieSQLite
      {
          protected SQLiteConnection SqLiteConnection;
          protected MyDBContext MyDbContext = new MyDBContext();
  
          public CookieSQLite()
          {
          }
  
          public CookieSQLite(string database)
          {
              SqLiteConnection = new SQLiteConnection(@"DataSource= "+database);
              try
              {
                  SqLiteConnection.Open();
              }
              catch (Exception ex)
              {
                  throw;
              }
          }
  
          public List&lt;CookieRow&gt; GetCookie()
          {
              SQLiteCommand sqLiteCommand = new SQLiteCommand();
              sqLiteCommand.CommandText = "Select * from `moz_cookies` order by `id` asc";
              sqLiteCommand.Connection = SqLiteConnection;
               SQLiteDataReader sqLiteDataReader = sqLiteCommand.ExecuteReader();
                  DataTable dataTable = new DataTable();
                  List&lt;CookieRow&gt; cookies = new List&lt;CookieRow&gt;();
                  dataTable.Load(sqLiteDataReader);
                  foreach (DataRow row in dataTable.Rows)
                  {
                      CookieRow cookie = new CookieRow();
                      cookie.Id = Convert.ToInt32(row.ItemArray[0].ToString());
                      cookie.BaseDomain = row.ItemArray[1].ToString();
                      cookie.OriginAttributes = row.ItemArray[2].ToString();
                      cookie.Name = row.ItemArray[3].ToString();
                      cookie.Value = row.ItemArray[4].ToString();
                      cookie.Host = row.ItemArray[5].ToString();
                      cookie.Path = row.ItemArray[6].ToString();
                      cookie.Expiry = row.ItemArray[7].ToString();
                      cookie.LastAccessed = row.ItemArray[8].ToString();
                      cookie.CreationTime = row.ItemArray[9].ToString();
                      cookie.IsSecure = Convert.ToInt32(row.ItemArray[10].ToString());
                      cookie.IsHttpOnly = Convert.ToInt32(row.ItemArray[11].ToString());
                      cookie.AppID = Convert.ToInt32(row.ItemArray[12].ToString());
                      cookie.InBrowserElement = Convert.ToInt32(row.ItemArray[13].ToString());
  
                      cookies.Add(cookie);
                  }
                  return cookies;
              }
  
          public void DeleteCookieRows()
          {
              SQLiteCommand sqLiteCommand = new SQLiteCommand();
              sqLiteCommand.CommandText= "DELETE FROM moz_cookies where Name = 'NID'";
              sqLiteCommand.Connection = SqLiteConnection;
              sqLiteCommand.Parameters.AddWithValue("Name", "NID");
              sqLiteCommand.ExecuteNonQuery();
  
          }
  
          public void IdCookieIsEmpty(List&lt;CookieRow&gt; c, List&lt;CookieRow&gt; cookiesRows, string profileCookies)
          {
              if (cookiesRows != null &amp;&amp; cookiesRows.Count != 0)
              {
                  UpdateCookie(c, profileCookies);
              }
              else
              {
                  List&lt;CookieRow&gt; cookieRows = GetCookie();
                  List&lt;CookieRow&gt; idCookies = cookieRows.Where(row =&gt; row.Name == "_gads").ToList();
                  if (idCookies != null &amp;&amp; idCookies.Count != 0)
                  {                   
                      foreach (CookieRow cookie in idCookies)
                      {
                          MyDbContext.Cookie.Add(cookie);
                      }
                      MyDbContext.SaveChanges();
                      Console.WriteLine("Cookies saved to 'AMAZONE_db' file");
                      Console.WriteLine("Press any key to close application");
                  }
                  List&lt;CookieRow&gt; qLiteCookie = MyDbContext.Cookie.ToList();
                  UpdateCookie(qLiteCookie, profileCookies);
  
              }
  
          }
  
          private void UpdateCookie(List&lt;CookieRow&gt; c, string profileCookies)
          {
              foreach (CookieRow cookie in c)
              {
                  SQLiteCommand sqLiteCommand = new SQLiteCommand();
                  SQLiteConnection qLiteConnection = new SQLiteConnection(@"DataSource= " + profileCookies);
                  qLiteConnection.Open();
                  sqLiteCommand.CommandText =
                      "UPDATE moz_cookies SET  Id='"+cookie.Id+"',BaseDomain = '" + cookie.BaseDomain + "', " +
                      "originAttributes='" + cookie.OriginAttributes + "'," +
                      "name='" + cookie.Name + "', value='" + cookie.Value + "', " +
                      "host='" + cookie.Host + "',path='" + cookie.Path + "', " +
                      "expiry='" + cookie.Expiry + "', lastAccessed='" + cookie.LastAccessed + "', " +
                      "creationTime='" + cookie.CreationTime + "', isSecure='" + cookie.IsSecure + "', " +
                      "isHttpOnly='" + cookie.IsHttpOnly + "', appId='" + cookie.AppID + "', " +
                      "inBrowserElement='" + cookie.InBrowserElement + "'";
  
                  sqLiteCommand.Connection = SqLiteConnection;
                  sqLiteCommand.ExecuteNonQuery();
  
                  qLiteConnection.Close();
  
                  Console.WriteLine("D");
              }
          }
      }
  }
  </code></pre>