title: ALTER TABLE query for foreign key constraint does not work
body: <p>I'm a beginner and creating my own simple blockchain app for fun. The blockchain itself is fully functional. Now I'm trying to implement a database to store the data of the blockchain (right now I'm writing it to a .txt file). So I want to create the following database schema in sqlite:</p>
  
  <pre><code>CREATE TABLE `Blockchain` 
  (
      `previous_hash` string  NOT NULL ,
      `timestamp` float  NOT NULL ,
      `signature_of_transactions` string  NOT NULL ,
      `index` bigint  NOT NULL ,
  
      PRIMARY KEY (`previous_hash`)
  );
  
  CREATE TABLE `Wallet` 
  (
      `public_key` string  NOT NULL ,
  
      PRIMARY KEY (`public_key`)
  );
  
  CREATE TABLE `Transactions` 
  (
      `signature` string  NOT NULL ,
      `sender` string  NOT NULL ,
      `recipient` string  NOT NULL ,
      `amount` float  NOT NULL ,
  
      PRIMARY KEY (`signature`)
  );
  
  CREATE TABLE `Peer_nodes` 
  (
      `id` string  NOT NULL ,
      `public_key` string  NOT NULL ,
  
      PRIMARY KEY (`id`)
  );
  
  ALTER TABLE `Wallet` 
      ADD CONSTRAINT `fk_Wallet_public_key` 
      FOREIGN KEY(`public_key`) REFERENCES `Peer_nodes` (`public_key`);
  
  ALTER TABLE `Transactions` 
      ADD CONSTRAINT `fk_Transactions_signature` 
      FOREIGN KEY(`signature`) REFERENCES `Blockchain` (`signature_of_transactions`);
  
  ALTER TABLE `Transactions` 
      ADD CONSTRAINT `fk_Transactions_sender` 
      FOREIGN KEY(`sender`) REFERENCES `Wallet` (`public_key`);
  
  ALTER TABLE `Transactions` 
      ADD CONSTRAINT `fk_Transactions_recipient` 
      FOREIGN KEY(`recipient`) REFERENCES `Wallet` (`public_key`);
  </code></pre>
  
  <p>Creating the tables with the columns etc. works fine with the script above. The <code>ALTER TABLE</code> queries do not work somehow. This is the following error message I receive:</p>
  
  <blockquote>
    <p>ALTER TABLE Wallet ADD CONSTRAINT fk_Wallet_public_key FOREIGN KEY(public_key) REFERENCES Peer_nodes (public_key)<br>
    ERROR:</p>
  </blockquote>
  
  <p>As you can see, it has no real error message. I haven't found a possible error in the queries themselves after searching a lot on the internet. What am I doing wrong? I try to do this via phpLitedmin, so maybe the problem is there?</p>