Eine id ist immer eindeutig und sollte NIE geändert werden.
In deinem konkreten Beispiel updatest du alle Datensätze und setzt in allen Datensätzen den Wert des Feldes id auf den Wert der Variablen $id.
Somit ist die id nicht mehr eindeutig und darum meckert MySQL.
Du solltest es am besten so machen, dass du nur den Namen eingibst und dann den Datensatz updatest, der zu dieser Id gehört:
Code:
<form method="POST" action="page.php">
<input type="hidden" name="id" value="2">
<input type="text" name="verein">
</form>
PHP-Code:
<?php
extract($_POST); // damit du nicht immer auf das $_POST-Array zurückgreifen musst
$sql = "UPDATE
tabelle
SET
verein = '$verein'
WHERE
id = '$id'";
mysql_query($sql);
?>
In dem Teil, der updated fehlen natürlich noch Sicherheitsabfragen etc.