Primary keys

PRIMARY KEY and a duplicate.

PRIMARY KEY must be unique. A duplicate fails.

Goal

Insert a second Nairobi id and see the error — then a unique Eldoret.

DROP TABLE IF EXISTS cities;
CREATE TABLE cities (
  id INTEGER PRIMARY KEY,
  name TEXT
);
INSERT INTO cities VALUES (1, 'Nairobi'), (2, 'Mombasa');
SELECT id, name FROM cities;
DROP TABLE IF EXISTS cities;
CREATE TABLE cities (
  id INTEGER PRIMARY KEY,
  name TEXT
);
INSERT INTO cities VALUES (1, 'Nairobi');
INSERT INTO cities VALUES (3, 'Kisumu');
SELECT id, name FROM cities;
DROP TABLE IF EXISTS cities;
CREATE TABLE cities (
  id INTEGER PRIMARY KEY,
  name TEXT UNIQUE
);
INSERT INTO cities (name) VALUES ('Nakuru'), ('Eldoret');
SELECT id, name FROM cities;
DROP TABLE IF EXISTS sales;
CREATE TABLE sales (
  id INTEGER PRIMARY KEY,
  city TEXT,
  units INTEGER
);
INSERT INTO sales (city, units) VALUES ('Nairobi', 12);
SELECT id, city FROM sales;