Мне любопытно, есть ли способ вставить в MySQL и избежать дубликатов. Я знаю, что есть три основных способа его достижения. Либо заменить, либо вставить игнорировать, либо вставить дубликат. Я считаю, что каждый из них полагается на уникальный первичный ключ, который для меня - это поле auto increment id. Это поле идентификатора не имеет никакого значения для меня особенно вставок нужно вместо этого я хочу, чтобы проверить, если несколько полей содержат одинаковое значение, если не DonT страховатьВставить игнорировать несколько уникальных данных столбцов
например:
INSERT INTO table (name, team, email) VALUES (:n, :t, :e)
если я имел три набора данных, как так
1) array (":n" => "john doe", ":t" => 1, ":e" => [email protected]);
2) array (":n" => "Jane doe", ":t" => 1, ":e" => [email protected]);
3) array (":n" => "john doe", ":t" => 1, ":e" => [email protected]);
4) array (":n" => "john doe", ":t" => 2, ":e" => [email protected]);
Предполагая, нет значения в таблице
1, 3 и 4 будут включены, но 2 не будет, как команда и адрес электронной почты не являются уникальными
Я знаю, что могу создать четвертый столбец и добавить к нему электронную почту и команду и создать уникальное значение и использовать его, однако я бы предпочел не делать этого, поскольку это избыточные данные.
Благодаря
Составной ключ - так просто! –