Для чего нужен первичный ключ (Primary Key)

Ответ

Первичный ключ (Primary Key) — это уникальный идентификатор записи в таблице базы данных. Он гарантирует, что:

  1. Каждая строка имеет уникальное значение (не может быть дубликатов)
  2. Значение не может быть NULL
  3. Используется для быстрого поиска и связей между таблицами (foreign keys)

Пример с SQLite в Android:

db.execSQL("""
    CREATE TABLE Users (
        _id INTEGER PRIMARY KEY AUTOINCREMENT,
        name TEXT NOT NULL,
        email TEXT UNIQUE
    )
""")

Здесь _id — первичный ключ, автоматически инкрементируемый. Это стандартный подход в Android при работе с Room/SQLite.

Ответ 18+ 🔞

А, ну вот, опять про эти ваши ключи! Слушай, давай я тебе на пальцах объясню, а то ты, я смотрю, уже глаза стеклянные делаешь. Представь себе, блядь, обычную тюрьму. Ну, или армию, не важно. У каждого зека — свой уникальный номер. Ёпта, это и есть первичный ключ, ёбаный в рот! Не может быть двух пацанов с одним и тем же номером, иначе охрана нихуя не разберёт, кто кому должен за «чёрную метку». И номер не может быть пустым — это ж бред, «безымянный зек, подойди сюда»! Его ищут по этому номеру, к нему цепляют другие дела (это уже foreign keys, связи между таблицами, но это потом).

Вот смотри на этот код, тут всё просто, как три копейки:

db.execSQL("""
    CREATE TABLE Users (
        _id INTEGER PRIMARY KEY AUTOINCREMENT,
        name TEXT NOT NULL,
        email TEXT UNIQUE
    )
""")

Видишь эту строчку _id INTEGER PRIMARY KEY AUTOINCREMENT? Это и есть наш главный зек, наш царь и бог в таблице Users. Каждый новый чувак, которого ты впихиваешь в базу, получает свой уникальный, блядь, номер. AUTOINCREMENT — это чтобы система сама, умная такая, каждый раз прибавляла единичку. Самому париться не надо, красота!

А name TEXT NOT NULL — это значит, что имя надо указать обязательно, а то получится манда с ушами, пользователь без имени. Ну и email TEXT UNIQUE — почта должна быть уникальной, чтобы два Василия не зарегистрировались на one_love_vasya@mail.ru. Иначе будет пиздец и путаница овердохуища.

Короче, запомни: Primary Key — это как татуха с номером на жопе у зека. Уникальная, нестираемая и главная для опознания. Без неё — ты просто бомж без документов в мире баз данных, и тебя нихуя не найдут. Всё, вопрос закрыт, можно идти пить чай.