MySQL - Character set & collation v stored procedure – MySQL – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

MySQL - Character set & collation v stored procedure – MySQL – Fórum – Programujte.comMySQL - Character set & collation v stored procedure – MySQL – Fórum – Programujte.com

 

Prog.0
Věrný člen
30. 10. 2007   #1
-
0
-

Začal som sa trocha špŕtať v stored procedures a functions, no narazil som na problém.

create table pokus(

stlpec1 varchar(32) NOT NULL COLLATE ascii_bin,
PRIMARY KEY (stlpec1)
);

create procedure pr_pokus (search varchar(32))
BEGIN
SELECT * FROM pokus where stlpec1 = search;
END


Potom, keď zavolám
call pr_pokus('skuska');

Vráti mi to takúto chybu:

Illegal mix of collations (ascii_bin,IMPLICIT) and (latin1_swedish_ci,IMPLICIT) for operation '='



charset_connection mám pritom utf8, tak keď už hodil chybu, prečo chápe premennú ako latin1 a nie utf8 !?

latin1_swedish_ci berie z nastavenia server_collation (konfig servera neovplyvním).

??? Znamená to, že ak odovzdávam procedúram textové hodnoty a mám nastavené connection_charset = utf8, tak sa z neho najprv prevedú na server_charset (v mojom pípade latin1) a v procedúre sa pracuje s nimi ďalej pracuje iba v danom charsete ???


Otázka 2

Prečo sa prevod pre porovnávanie nevykonal automaticky ?
explicitne funguje:

create procedure pr_pokus (search varchar(32))

BEGIN
SELECT * FROM pokus where pokus.stlpec1 = CONVERT(search using ascii)
END


verzia mysql 5.0.45

Vopred ďakujem za každý nápad, postreh, myšlienku, ...

Nahlásit jako SPAM
IP: 213.160.186.–
Prog.
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 14 hostů

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý