Есть ли способ сделать всю строку MySQL уникальной

У меня есть таблица в MySQL с 30 столбцами и тысячами записей.
Есть ли способ сделать каждую строку уникальной, это означает, что если строка уже существует, я не могу снова ввести эту строку.

Я не могу использовать первичные или уникальные ключи здесь, потому что индивидуально каждый столбец может быть повторен.
Я хочу, чтобы строка была уникальной. например: -Есть таблица с

columns->name,age,height,weight.

В этом столбце я не могу сделать один или два столбца уникальными, но у меня не должно быть двух записей со всеми одинаковыми данными.

Ответ 2

Вы можете создать уникальный индекс, который включает все столбцы в таблице

ALTER TABLE buyers ADD UNIQUE idx_row_unique(first_name,last_name,...);

Таким образом, вы можете сохранить уникальный первичный ключ AUTO INCREMENT для объединения, сохраняя при этом, что все данные в вашей таблице уникальны.

Ответ 3

Вы можете создать UNIQUE key для всех столбцов, а не для отдельных уникальных ключей для каждого столбца. Это означает, что комбинация значений будет уникальной - именно то, что вам нужно. Но учтите, что если какой-либо столбец допускает нулевое значение, если столбец содержит значение null, он будет считаться уникальным, даже если другая строка содержит те же значения, с null для одного и того же значения.

Ответ 4

Вы можете создать уникальный индекс для нескольких столбцов. Просто поместите все столбцы в индекс. Если столбцы велики, вы можете столкнуться с проблемами с максимальной длиной индекса, но сначала попробуйте и посмотрите.

Ответ 5

Вы можете хешировать данные и установить значение хеша в качестве вашего PK, это обеспечит уникальность строк.