Member 13637584 Ответов: 1

Избегайте дубликатов в базе данных MYSQL?


Привет
Как избежать вставки повторяющихся значений в базу данных?

Ниже код вставляется в базу данных, но я не хочу, чтобы отдельные строки, например, имели идентификатор пользователя с именем alan и другую строку с другим именем, я хочу, чтобы это был идентификатор пользователя и имена, связанные в одном

Может кто-нибудь помочь?

Что я уже пробовал:

try{
	
$stmt = $conn->prepare('INSERT INTO favourites (nameID,UserID) VALUES (:nameID, :UserID);');
			$stmt->execute(array(
				':nameID' =>$_POST['nameID'],
				':UserID' =>$_POST['UserID']
				));
			$count = $stmt->rowCount();
			if($count > 0 )
			{
				echo "<span style='font-size:100%;color:red;'>❤️";
			}
			else {
				echo "unsuccessful";
			}
}
catch(PDOException $error)
{
	echo $error->getMessage();
}
?>

1 Ответов

Рейтинг:
0

CHill60

Есть несколько способов добиться того, чего вы хотите ... этот метод часто называют "upsert" (обновление или вставка) или "слияние". В этих статьях обсуждаются различные способы, которыми вы можете сделать это в MySQL:
Как вставить, если строка не существует (UPSERT) в MySQL[^]
3 способа написания UPSERT и слияния запросов в MySQL · блог барона Шварца[^]
и вот некоторые примеры: MySQL: вставить запись, если она не существует в таблице[^]