fout Incorrect key

Status
Niet open voor verdere reacties.

teuntjet70

Gebruiker
Lid geworden
10 nov 2009
Berichten
7
Als ik onderstaande query draai komt er deze fout kan iemand mij helpen

vast bedankt :confused:

#126 - Incorrect key file for table '.\TEST_mall\dataproducts.MYI'; try to repair it


UPDATE dataproducts SET Modelnumber = ( SELECT Artikelnr_Leverancier FROM ink_leveranciers_artikel WHERE ink_leveranciers_artikel.Artikelnr = dataproducts.productid AND dataproducts.id >= 513560 )
 
Je hebt ergens een naam gebruikt die niet in de tabel voor komt.
Denk er aan dat DIT iets anders is an dit of Dit of diT
 
Je kunt proberen de tabel te repareren met dit commando:[sql]REPAIR TABLE dataproducts;[/sql]
 
Re

het probleem zit hem na de AND voor de AND werkt hij wel maar dan voert hij het op de hele db uit en dat wil ik niet :D
 
Moet die laatste .id misschien productid zijn ?
 
Er is niet mis met de query, alleen kan hij misschien wat handiger door de laatste voorwaarde buiten de subselectie te zetten:[sql]UPDATE dataproducts
SET Modelnumber =
( SELECT Artikelnr_Leverancier
FROM ink_leveranciers_artikel
WHERE ink_leveranciers_artikel.Artikelnr = dataproducts.productid
)
WHERE dataproducts.id >= 513560;[/sql]
De melding die je krijgt geeft aan dat er iets fout is met een index (= Incorrect key file) van de tabel dataproducts. Door de laatste AND weg te halen maak je misschien geen gebruik meer van de index waardoor de fout zich niet meer voor doet. Een corrupte index kun je herstellen door een repair table uit te voeren. Als er een fout in de query zit krijg je foutmeldingen zoals Unknown column 'kolomnaam' in 'field list' of You have an error in your SQL syntax.
 
Re

Bedankt

deze werkt

maar waarom werkt de AND optie niet wil graag
de denkwijze weten van SQL :thumb::thumb:
 
Het heeft niks met de denkwijze van SQL te maken, maar met het feit dat de tabel beschadigd is. Waarschijnlijk is je server een keer zonder stroom komen te zitten of gecrasht oid, en is daardoor het bestandje kapot gegaan.

Je kunt SQL de opdracht geven om het bestand te herstellen door in phpMyAdmin of een dergelijke tool deze query te runnen:

[sql]REPAIR TABLE dataproducts;
[/sql]

Zoals Epic ook al zei :)
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan