Avatar billede dsj Nybegynder
27. maj 2003 - 11:22 Der er 10 kommentarer og
1 løsning

SQL-statement overser negative værdier

Jeg har et totalt weird problem: Når jeg f.eks. kører denne forespørgsel:

SELECT * FROM mintabel WHERE id < 0;

Giver den INGEN tupler, selvom der er 2 af slagsen. Databasen er MySQL og attributten 'id' er IKKE unsigned. PHPMyAdmin kører forespørgslen korrekt og viser de to tupler der rigtigt nok er.

Jeg anvender den vidst nok sidste nye driver til MySQL og har prøvet en ældre uden held. Nogen der lige ved hvad der går galt her?
Avatar billede nop Nybegynder
27. maj 2003 - 11:26 #1
Prøv:
select * from mintabel where [id]<0
Avatar billede dsj Nybegynder
27. maj 2003 - 11:28 #2
Det er MySQL ikke Access :) Man kan ikke bruger [] i MySQL og desuden virker det som sagt gennem PHPMyAdmin.
Avatar billede carstenknudsen Nybegynder
27. maj 2003 - 11:33 #3
Får du noget hvis du skriver
SELECT * FROM mintabel WHERE id > 0;
jeg tænker på om ; kan drille lidt, det bruges jo kun interaktivt ikke i de Java statements du fyrer af.
Avatar billede dsj Nybegynder
27. maj 2003 - 11:34 #4
Ja, den virker fint, og...

SELECT * FROM mintabel WHERE id != 0;

...fanger kun de positive værdier.
Avatar billede dsj Nybegynder
27. maj 2003 - 11:37 #5
Det er %%&¤#?##"! ikke let at være udvikler !
Avatar billede carstenknudsen Nybegynder
27. maj 2003 - 11:40 #6
Og
SELECT * FROM mintabel;
returnerer også samtlige rækker inklusive dem der har negativ id?
Hvad siger
DESCRIBE mintabel;
Avatar billede nop Nybegynder
27. maj 2003 - 11:42 #7
Når ok men [] virker sgu da både i 7.0 og 2000.
--nop
Avatar billede dsj Nybegynder
27. maj 2003 - 12:00 #8
nop >> Ja, du tænker på MS Access ikke MySQL, der som den nyeste findes i version 4.0.13 :)
Avatar billede nop Nybegynder
27. maj 2003 - 12:15 #9
Det er ikke fordi jeg vil hænge mig i hvad du tror at jeg tænker på men jeg mente jo ms-sql 7.0 og ms sql 2000. (ikke my !)
Men i alle sql-sprog gælder at du skal kunne sætte nogle tegn omkring et felt navn for at sql skal kunne kende forskel på felt-navn og reserverede ord, i ms er det så (2000 ihvertilfælde) [] og "", fint nok. Jeg kan godt se at det så ikke lige var det der ville hjælpe da jeg så din kommentar længere nede.
--nop
Avatar billede dsj Nybegynder
27. maj 2003 - 12:17 #10
ok, ja det er ' (quotes) der anvendes i MySQL.

Nåh, det virkede efter en genstart af maskinen, ved ikke hvad der gik galt :-/
Avatar billede carstenknudsen Nybegynder
27. maj 2003 - 12:37 #11
Havde du oprettet tabellen under sessionen og ikke reload'et databasen? Eller havde du ændret på tabellens struktur? Så skal man ihvertfald huske at køre
mysqladmin -p reload
ellers effektueres ændringerne ikke.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester

IT-JOB

Csis Security Group A/S

Junior Software Engineer

Forsvarsministeriets Materiel- og Indkøbsstyrelse

Nye kolleger søges til IT Stab i Forsvaret

Netcompany A/S

Network Engineer

Ingeniørforeningen, IDA

Platform Engineer i IDA

Nextway Software A/S

Software Architect