Mysql - Verktøy som kan finne feil?

Mr Vest

Sjefen over alle sjefer!
Sånn helt dønn seriøst, jeg er blitt steike gal i hodet mitt. Helt sånn skikkelig gal i hodet altså. Jeg er blitt så gal i hodet akkurat nå at hele hodet mitt kan kategoriseres under galskap! - Og den eneste som har skylden er phpmyadmin. Fy flate!

Finnes det dønn seriøst ikke et eneste program som kan fortelle meg hvor i min sqlfil jeg har en feil? Jeg må jo innrømme jeg begynner å bli noenlunde amøbe drita lei "Column count doesn't match value count at row XX"-meldinger som helt dønn seriøst ikke forteller meg noe som helst nyttig. Om phpmyadmin heller kunne vist meg hvor i XXX den jævla feilen er ville kanskje hodet mitt falle litt utenfor kategorien gal igjen.

Hva anbefaler dere istedenfor phpmyadmin? Finnes det noe som faktisk forteller meg hva som er galt, istedenfor at noe er galt?
 

sta

Medlem
"Column count doesn't match value count at row XX"

Høyst sansynlig har du her en INSERT query med diff mellom antall kolonner og antall verdier du prøver å sette inn.

Eksempel: Hvis du har en tabell med to kolonner, verdi1 og verdi2 og prøver å utføre følgende query, vil du få en feil, da du har flere verdier i queryet inn du har kolonner i tabellen: INSERT INTO tabell VALUES (verdi1, verdi2, verdi3).

Jeg har selv brukt Navicat Oracle, MySQL Admin Tool - the World's Best Oracle Manager, MySQL GUI & PostgreSQL GUI for Windows, Linux & Mac OS X - Download Now! Support Access to MySQL, Excel to MySQL, MySQL editor, MySQL administrator, MySQL frontend, MySQL manager, ph i flere år, som eneste verktøy når jeg jobber mot MySQL. Syntes det fungerer utmerket og gir ganske klare og tydelige feilmeldinger.
 

Mr Vest

Sjefen over alle sjefer!
Jepp, det stemte at det var noe jeg skulle kjøre inn i databasen ja. Det var en backup jeg hadde hvor jeg klarte og rote til noen tegn på en eller annen tullete måte, og plutselig var jo 4-5 av radene jeg skulle legge inn noe galt med.

Det tok sin tid før jeg fant feilene, men jeg fant dem til slutt. Det eneste er at jeg ville jo helst unngå og måte lete gjennom lange linjer med alle mulige greier i for å finne 1 liten feil i hver linje. Jeg skal kikke på Navicat. Takker for tipset! :)
 

Nextri

Rebel
du får nok ikke bedre feilmeldinger med andre programmer.
det du kan gjøre er å dele opp sql spørringene dine på flere linjer.
eksempel:

SELECT id
FROM posts
WHERE id > 5
AND id < 20
GROUP BY user_id
ORDER BY created

Da ville det stått hvilken linje i spørringen du har en feil på, og det blir lettere å finne feilen
 

Mr Vest

Sjefen over alle sjefer!
Det jeg tenker på med bedre feilmeldinger er det at phpmyadmin ikke forteller hvor i "koden" feilen ligger. Den bare forteller at det er en feil i koden, og i tilfellet over, hvilken "row" det er en feil i. Jeg kunne tenke meg å vite hvor i den "rowen" feilen er. Vil virkelig ikke andre programmer gi et bedre svar på det?

Joda, og legge opp select på den måten har jeg forstått at kan være greit, men det blir jo fort mye jobb dersom jeg har 1000 linjer som skal legges opp i databasen fra en sql-fil.
 

Nextri

Rebel
Den bare forteller at det er en feil i koden, og i tilfellet over, hvilken "row" det er en feil i. Jeg kunne tenke meg å vite hvor i den "rowen" feilen er.

nettopp derfor er det greit å ha spørringen på flere linjer, da det gjerne vil stå at feilien ligger på linje 5 i spørringen. istedenfor at det alltid står linje 1. fordi spørringen bare er på 1 linje.
 

Mr Vest

Sjefen over alle sjefer!
Men er det mulig å få disse "mysqlprogrammene" som phpmyadmin & Oracle til å gi meg en sqlfil hvor alle linjene er delt opp når jeg eksporterer databasen til en sqlfil da? Eller er dette noe jeg da altså bare må gjøre manuelt på de radene jeg får en feilmelding på tenker du?
 
Topp