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.