MySQL UNIQUE

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Antworten
phillip
Mitglied
Beiträge: 933
Registriert: 20.03.2005 12:00

MySQL UNIQUE

Beitrag von phillip »

Hallo ihr phpbbler ;-)

äh ich hab grad eine Frage zum UNIQUE...
Und zwar füre ich folgende MySQL Operation durch:

Code: Alles auswählen

$sql = "INSERT INTO " . BUDDIES_TABLE . " (user_id, buddy_id, active)
			VALUES ($user_id, $buddy_id_, '1')";
	if ( !($result = $db->sql_query($sql)) )
	{
		message_die(GENERAL_ERROR, 'Could not add the user to your buddylist', '', __LINE__, __FILE__, $sql);
	}


$sql = "UPDATE buddies

				SET active = 1

				WHERE user_id = '$buddy_id_' AND buddy_id = '$user_id'";

  		if ( !($result = $db->sql_query($sql)) )

  		{

			message_die(GENERAL_ERROR, 'Could not update update buddys table', '', __LINE__, __FILE__, $sql);

	   	}
		


$sql = "UPDATE users

				SET buddy_alert = buddy_alert - 1

				WHERE user_id = '$user_id'";

  		if ( !($result = $db->sql_query($sql)) )

  		{

			message_die(GENERAL_ERROR, 'Could not update buddy alert table', '', __LINE__, __FILE__, $sql);

	   	}
Das Problem ist jetzt, dass INSERT zwei Einträge mit den selben Werten macht...

Nun meine Frage, sieht jemand grad einen Fehler?
Oder kann ich rgendwie UNIQUE auf zwei werte setzen?

Dass z.B user_id 2 in Verbindung mit buddy_id 4 nur einmal vorhanden sein darf?
PhilippK
Vorstand
Vorstand
Beiträge: 14662
Registriert: 13.08.2002 14:10
Wohnort: Stuttgart
Kontaktdaten:

Beitrag von PhilippK »

Klar kannst du auch ein UNIQUE über zwei Felder machen:

Code: Alles auswählen

ALTER TABLE `x` ADD UNIQUE `Test` ( `b` , `c` )
Gruß, Philipp
Kein Support per PN!
Der Sozialstaat ist [...] eine zivilisatorische Errungenschaft, auf die wir stolz sein können. Aber der Sozialstaat heutiger Prägung hat sich übernommen. Das ist bitter, aber wahr. (Horst Köhler)
Meine Mods
phillip
Mitglied
Beiträge: 933
Registriert: 20.03.2005 12:00

Beitrag von phillip »

geil danke ;-)
Antworten

Zurück zu „Coding & Technik“