Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [SQL]Problem z zapytaniem MySQL
Forum PHP.pl > Forum > Przedszkole
trifek
Witam serdecznie,
Mam zapytanie:
  1. SELECT id FROM baza WHERE ( ((SQRT ( (szer - 51.8566932) ^ 2 + (dl - 4.3604945) ^ 2)) * 111.2 < 5 ) ) ORDER BY id ASC


Które zwraca mi błąd:
#1690 - BIGINT UNSIGNED value is out of range in '(((`radio`.`baza `.`szer` - 51.8566932) ^ 2) + ((`radio`.`baza `.`dl` - 4.3604945) ^ 2))'


Wie ktoś może jak to naprawić?
Neutral
Struktura tabeli:

+-------+---------------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------+---------------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| szer | bigint(20) unsigned | YES | | NULL | |
| dl | bigint(20) unsigned | YES | | NULL | |
+-------+---------------------+------+-----+---------+----------------+

Dane:

+----+-------+---------+
| id | szer | dl |
+----+-------+---------+
| 1 | 15000 | 5500000 |
+----+-------+---------+

Dla takiej struktury tabeli i takich danych wyrzuca mi: Empty set (0.00 sec).
trifek
Mam taką tabelę:
  1.  
  2. CREATE TABLE `baza` (
  3. `id` bigint(20) UNSIGNED NOT NULL,
  4. `szer` float(10,6) NOT NULL DEFAULT '0.000000',
  5. `dl` float(10,6) NOT NULL DEFAULT '0.000000'
  6. ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
  7.  
  8.  
  9. ALTER TABLE `baza`
  10. ADD PRIMARY KEY (`id `);
  11.  
  12.  
  13. ALTER TABLE `baza`
  14. MODIFY `id ` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT;COMMIT;
  15.  


Szerokość i długość mam w formacie: 51.855747 4.361342


Ejrene
Źle deklarujesz float dla szerokości i długości musisz żeby zapisało Ci się dla danych które masz to musisz zrobić szer float(11,6) a dla dl float(13,6)
A dlaczego to manual
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.