🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: pl.comp.os.linux.programowanie
4 messages
4 total messages Started by MaRc Tue, 04 Oct 2011 11:04
UNION w mysql
#72352
Author: MaRc
Date: Tue, 04 Oct 2011 11:04
28 lines
1725 bytes
Wtiam
mam takie zapytanie do bazy:

#v+
SELECT id, lower(name) as UserName , 'Cleartext-Password' as Attribute , 
passwd as Value, ':=' as op FROM nodes WHERE name = 'serwis'
UNION
SELECT n.id AS id, lower(n.name) AS UserName, 'Calling-Station-Id' AS 
Attribute, m.mac as Value, ':=' as op FROM nodes n, macs m WHERE n.name 
= 'serwis' AND n.id = m.nodeid AND EXISTS (SELECT 1 FROM nodes WHERE 
name ='serwis' AND chkmac = 1)
#v-

niestety to zwraca mi błąd:
#1271 - Illegal mix of collations for operation 'UNION'

każde z zapytań osobno zwaca mi poprawnie rekordy.
jeśli w drugim zapytaniu zamiast "m.mac" wstawię ręcznie jakieś 
wartości, np.: '00:00:00:33:22:11' to całe zapytanie nie wywali błędu.
pole passwd z pierwszego zapytania jest varchar(32), pole mac również.

czemu wywala mi się błąd i jak jemu zaradzić?


-- 
MaRc
Nie kłóć się z idiotą. Będziesz musiał zniżyć się do jego poziomu a 
wówczas pobije cię swoimi argumentami.
Re: UNION w mysql
#72353
Author: Stachu 'Dozzie' K.
Date: Tue, 04 Oct 2011 11:08
15 lines
1501 bytes
On 2011-10-04, MaRc <tuksmr@gmail.com> wrote:
> Wtiam
> mam takie zapytanie do bazy:
[...]
> niestety to zwraca mi błąd:
> #1271 - Illegal mix of collations for operation 'UNION'
[...]
> czemu wywala mi się błąd i jak jemu zaradzić?

Czytać komunikat do zrozumienia. Posłużyć się guglami do znalezienia
terminu "collation".

-- 
Secunia non olet.
Stanislaw Klekot
Re: UNION w mysql
#72354
Author: Mariusz Kruk
Date: Tue, 04 Oct 2011 11:11
14 lines
1220 bytes
epsilon$ while read LINE; do echo \>"$LINE"; done < "MaRc"
>niestety to zwraca mi błąd:
>#1271 - Illegal mix of collations for operation 'UNION'
[...]
>czemu wywala mi się błąd i jak jemu zaradzić?

A googlałeś o co chodzi w tym błędzie?
Coś ci się nie spina w zakresie charsetów pewnie.

-- 
\------------------------/
|  Kruk@epsilon.eu.org   | http://www.nieruchomosci.pl/mieszkanie,14137471
| http://epsilon.eu.org/ |
/------------------------\
Re: UNION w mysql
#72355
Author: MaRc
Date: Tue, 04 Oct 2011 11:20
18 lines
1443 bytes
W dniu 04.10.2011 13:11, Mariusz Kruk pisze:
> A googlałeś o co chodzi w tym błędzie?
> Coś ci się nie spina w zakresie charsetów pewnie.

no googlałem. właśnie dzięki temu znalazłem rozbieżność w długości 
varchar. jedno było 32 a drugie 17. zmieniłem obydwa na 32.

ale problem tkwił w metodzie porównywania, w jednym było _general_ a w 
drugim _polish_

dzięki



-- 
MaRc
Nie kłóć się z idiotą. Będziesz musiał zniżyć się do jego poziomu a 
wówczas pobije cię swoimi argumentami.
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads