title: sqlite3 in c++ not acknowledging my primary key
body: <p>I am currently building a project of a database in sqlite3.
  I've already made a function that inserts the table</p>
  
  <pre><code>t_users(username TEXT primarykey not null, password TEXT not null, email TEXT not null)
  </code></pre>
  
  <p>a new row.
  the problem is the function doesn't acknowledge my primary key, and it lets me add two rows with the same username.
  this is my main:</p>
  
  <pre><code>#include "Database.h"
  int main()
  {
      DataBase db;
      bool answer = db.addNewUser("user4", "1234", "user4@gmail.com");
      return 0;
  }
  </code></pre>
  
  <p>and this is my addNewUser functions:</p>
  
  <pre><code>bool DataBase::addNewUser(string username, string password, string email)
  {
      //not a really relevant part:
      username.insert(0, "'");
      username += "'";
      password.insert(0, "'");
      password += "'";
      email.insert(0, "'"); 
      email += "'";
  
      //this is probably the relevant part:
      char* zErrMsg;
      int rv;
      rv = sqlite3_exec(_db, ("INSERT INTO t_users(username, password, email)
      VALUES(" + username + ',' + password + ',' + email + ");").c_str(), NULL, 0, &amp;zErrMsg);
      if (rv != SQLITE3_OK) //checking for errors that might have occured
      {
          return false;
      }
      return true;
  }
  </code></pre>