Duplicate key (Navicat) (K)

Indította username, 2011-09-22, 18:00:38

2011-09-22, 18:00:38 Utolsó szerkesztés: 2011-09-22, 18:20:54 Szerző: username
Sziasztok. Megveszem egy cuccot itemshop-ból, megakarom venni még1x, és azt írja, hogy Duplicate key '4294967295'  ... Erre mi lenne a megoldás? Nagyon kellene a segítség, mivel vasárnap fogom elindítani a szerót.

account táblázatba leg utolso táblázatba a coin 0 az baja

itt van a php, hátha ebbe van a gond:

<?PHP if(isset($_SESSION['user_admin']) && checkInt($_SESSION['user_admin']) && $_SESSION['user_admin']>=0) {    if(isset($_GET['id']) && checkInt($_GET['id'])) {   
	
$sqlCmd="SELECT vnum, preis, attrtype0, attrvalue0, attrtype1, attrvalue1, attrtype2, attrvalue2, attrtype3, attrvalue3, attrtype4, attrvalue4, attrtype5, attrvalue5, attrtype6, attrvalue6, socket0, socket1, socket2 FROM ".SQL_HP_DB.".is_items WHERE id='".$_GET['id']."'LIMIT 1 ";
	
$sqlQry=mysql_query($sqlCmd,$sqlHp);
	
if(
mysql_num_rows($sqlQry)==1) {
	
	
 
$getItem=mysql_fetch_object($sqlQry);
	
  if(
$_SESSION['user_coins']>=$getItem->preis) {
	
	
	
$getGroesse = compareItems($getItem->vnum);
	
	
$belPos = checkPos($_SESSION['user_id']);
	
	
$possiblePos = findPos($belPos['islager'],$getGroesse['groesse']);
	
	
if(!empty(
$possiblePos)) {
	
	
	
	
 
$sqlCmd="UPDATE account.account SET coins=coins-".$getItem->preis." WHERE id='".$_SESSION['user_id']."' LIMIT 1";
	
	
 
$sqlQry=mysql_query($sqlCmd,$sqlServ);
	
	
 
$sqlLog="INSERT INTO ".SQL_HP_DB.".is_log (account_id,vnum,preis,zeitpunkt) VALUES ('".$_SESSION['user_id']."','".$getItem->vnum."','".$getItem->preis."','".$sqlZeit."')";
	
	
 
$qryLog=mysql_query($sqlLog,$sqlHp);
	
	
 
$sqlItem="INSERT INTO player.item
	
	
 (owner_id,window,pos,count,vnum,attrtype0, attrvalue0, attrtype1, attrvalue1, attrtype2, attrvalue2, attrtype3, attrvalue3, attrtype4, attrvalue4, attrtype5, attrvalue5, attrtype6, attrvalue6, socket0, socket1, socket2)
	
	
 VALUES
	
	
 ('"
.$_SESSION['user_id']."','MALL','".$possiblePos[0]."','1','".$getItem->vnum."','".$getItem->attrtype0."', '".$getItem->attrvalue0."', '".$getItem->attrtype1."', '".$getItem->attrvalue1."', '".$getItem->attrtype2."', '".$getItem->attrvalue2."', '".$getItem->attrtype3."', '".$getItem->attrvalue3."', '".$getItem->attrtype4."', '".$getItem->attrvalue4."', '".$getItem->attrtype5."', '".$getItem->attrvalue5."', '".$getItem->attrtype6."', '".$getItem->attrvalue6."', '".$getItem->socket0."', '".$getItem->socket1."', '".$getItem->socket2."')";
	
	
 
$qryItem=mysql_query($sqlItem,$sqlServ) or die(mysql_error());
	
	
 echo
'<p class="meldung">Das item wurde erfolgreich gekauft. Sollte das Item nicht im Lager erscheinen, bitte umgehend bei einem Admin melden.</p>';
	
	
 
	
	
}
	
	
else {
	
	
 echo
'<p>Sie haben nicht gen&uuml;gend Platz in ihrem Itemshop-Lager. Ihr Guthaben wurde nicht ver&auml;ndert.</p>';
	
	
}
	
	
	
  }
	
  else {
	
	
echo
'<p class="meldung">Sie haben nicht genug Coins.</p>';
	
  }
	
}
	
else {
	
  echo
'<p class="meldung">Das angegebe Item existiert nicht.</p>';
	
}   }   else {
	
echo
'<p class="meldung">Es wurde keine g&uuml;ltige ID eingegeben.</p>';   }   echo'<p><a href="javascript:history.back()">zur&uuml;ck</a></p>'; } else {   echo'<p class="meldung">Sie m&uuml;ssen f&uuml;r diesen Bereich angemeldet sein.</p>'; }?>?>

csak ennyit ír semmi mást?

Csak ennyit. Mindig ugyanazt az id-t akarja beírni.

2011-09-23, 15:24:19 #5 Utolsó szerkesztés: 2011-09-23, 15:28:12 Szerző: TheLAW
Megtelt az item táblázatod....

navicatban futtasd le ezt a kódot:
ALTER TABLE `item`
AUTO_INCREMENT=1;


Ha nem működik akkor ki kell ürítened a táblázatot és újra beírni ezt

ALTER TABLE `item`
AUTO_INCREMENT=1;


az item táblázat kiürítése a cuccok törlésével egyenlő.
De úgyis törölnöd kell mert így a szerver sem tud új tárgyat létrehozni. Ha csinálsz 1 cuccot restart után eltűnik.

Így ürítheted ki a táblázatot:


DROP TABLE IF EXISTS `item`;
CREATE TABLE `item` (
`id`  int(11) UNSIGNED NOT NULL AUTO_INCREMENT ,
`owner_id`  int(11) UNSIGNED NOT NULL DEFAULT 0 ,
`window`  enum('INVENTORY','EQUIPMENT','SAFEBOX','MALL') CHARACTER SET latin1 COLLATE latin1_swedish_ci NOT NULL DEFAULT 'INVENTORY' ,
`pos`  smallint(5) UNSIGNED NOT NULL DEFAULT 0 ,
`count`  tinyint(3) UNSIGNED NOT NULL DEFAULT 0 ,
`vnum`  int(11) UNSIGNED NOT NULL DEFAULT 0 ,
`socket0`  int(10) UNSIGNED NOT NULL DEFAULT 0 ,
`socket1`  int(10) UNSIGNED NOT NULL DEFAULT 0 ,
`socket2`  int(10) UNSIGNED NOT NULL DEFAULT 0 ,
`socket3`  int(10) UNSIGNED NOT NULL DEFAULT 0 ,
`socket4`  int(10) UNSIGNED NOT NULL DEFAULT 0 ,
`socket5`  int(10) UNSIGNED NOT NULL DEFAULT 0 ,
`attrtype0`  tinyint(4) NOT NULL DEFAULT 0 ,
`attrvalue0`  smallint(6) NOT NULL DEFAULT 0 ,
`attrtype1`  tinyint(4) NOT NULL DEFAULT 0 ,
`attrvalue1`  smallint(6) NOT NULL DEFAULT 0 ,
`attrtype2`  tinyint(4) NOT NULL DEFAULT 0 ,
`attrvalue2`  smallint(6) NOT NULL DEFAULT 0 ,
`attrtype3`  tinyint(4) NOT NULL DEFAULT 0 ,
`attrvalue3`  smallint(6) NOT NULL DEFAULT 0 ,
`attrtype4`  tinyint(4) NOT NULL DEFAULT 0 ,
`attrvalue4`  smallint(6) NOT NULL DEFAULT 0 ,
`attrtype5`  tinyint(4) NOT NULL DEFAULT 0 ,
`attrvalue5`  smallint(6) NOT NULL DEFAULT 0 ,
`attrtype6`  tinyint(4) NOT NULL DEFAULT 0 ,
`attrvalue6`  smallint(6) NOT NULL DEFAULT 0 ,
PRIMARY KEY (`id`),
INDEX `owner_id_idx` USING BTREE (`owner_id`) ,
INDEX `item_vnum_index` USING BTREE (`vnum`)
)
ENGINE=MyISAM
DEFAULT CHARACTER SET=latin1 COLLATE=latin1_swedish_ci
AUTO_INCREMENT=1
CHECKSUM=0
ROW_FORMAT=FIXED
DELAY_KEY_WRITE=0
;



2011-09-23, 15:28:58 #6 Utolsó szerkesztés: 2011-09-23, 15:36:10 Szerző: username
Ember. Te egy Isten vagy, komolyan mondom. :D Nagyon szépen köszönöm. Mivel tudnám meghálálni? Jajj de jó, végre 2 nap után:D
MOD kérem archívumba helyezni. Köszönöm.