mysql refresh , id проблем

sle

Registered
Здр.
В една таблица си искарвам сайтове от базата данни обаче всеки сайт си има ID.Искам да мога да си сменям тези id-та за да си подреждам по различен начин подредбата на сайтовете. С следня код ми излиза проблем за дублиране.Как мога да направя или id-to да може да се дублира или някак си да структорирам кода по различен начин?

PHP:
if(isset($_POST['refresh'])) {
	$asd=$_POST['ides'];
	$asd1=$_POST['ids'];
	$i=0;

	foreach($asd as $br) {
	mysql_query("UPDATE websites SET idn='$br' WHERE idn='$asd1[$i]'") or die(mysql_error());
	$i++;	
	}
}


ERROR:
Duplicate entry '2' for key 'id'
 
ИДтата са ти уникални ключове, не трябва да ги пипаш тях. Правилния начин е следния - правиш си нова колона - ord в таблицата и в нея ще записваш реда под който ще се показваш сървърите - 1,2,3 и тн.

После в заявката си ги изкарваш примерно

[sql]SELECT * FROM servers ORDER BY ord ASC[/sql]

И си готов.
 
ами аз съм махнал auto_incepment от id. така,че не ми трябва да са уникални. Как мога да ги направя да не са?
 
Както вече ти казах, това с ИДтата не е правилния начин. Но щом си си решил така, не мога да те разубедя.

Махни Unique атрибута на колоната ИД от MySQL таблицата и няма да ти пищи че се повтаря. Но после ако наистина оплескаш нещата и имаш два сървъра с еднакво ИД да те видя какво ще правиш.
 
Radko каза:
Както вече ти казах, това с ИДтата не е правилния начин. Но щом си си решил така, не мога да те разубедя.

Махни Unique атрибута на колоната ИД от MySQL таблицата и няма да ти пищи че се повтаря. Но после ако наистина оплескаш нещата и имаш два сървъра с еднакво ИД да те видя какво ще правиш.
като се замисля прав си.. ще го направя с ord поле .. мерси :)
 

Back
Горе