Forum » Programiranje » [MariaDB] Unique index, dve vrednosti; ena z, druga brez presledka na koncu
[MariaDB] Unique index, dve vrednosti; ena z, druga brez presledka na koncu
HotBurek ::
Pozdravljeni.
Evo, danes spet nov super dan, in novi super izzivi.
Za začetek, dva linka, ki sta pripeljala do sem:
[MariaDB] Zakaj SQL enači "ab " z "ab" v WHERE pogoju?
[MariaDB] Zakaj LENGTH za ne ASCII znake (npr. "é") vrača dolžino 2 (namesto 1)?
Sedaj pa situacija.
Kreiram tabelo:
V stolpec column1 vnesem dve vrednosti: "ab" in "ab ". Prva brez presledka, druga z presledkom (na koncu stringa).
In ko poizkusim kreirat unique index:
Dobim error:
Kako naredit, da bo UNIQUE INDEX vidil "ab" in "ab " kot dva različna vnosa?
Spet ta space...
Evo, danes spet nov super dan, in novi super izzivi.
Za začetek, dva linka, ki sta pripeljala do sem:
[MariaDB] Zakaj SQL enači "ab " z "ab" v WHERE pogoju?
[MariaDB] Zakaj LENGTH za ne ASCII znake (npr. "é") vrača dolžino 2 (namesto 1)?
Sedaj pa situacija.
Kreiram tabelo:
CREATE TABLE `test1` ( `column1` varchar(3) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
V stolpec column1 vnesem dve vrednosti: "ab" in "ab ". Prva brez presledka, druga z presledkom (na koncu stringa).
In ko poizkusim kreirat unique index:
CREATE UNIQUE INDEX `test1_column1_IDX` USING BTREE ON `test1` (`column1`);
Dobim error:
Duplicate entry 'ab' for key 'test1_column1_IDX'
Kako naredit, da bo UNIQUE INDEX vidil "ab" in "ab " kot dva različna vnosa?
Spet ta space...
root@debian:/# iptraf-ng
fatal: This program requires a screen size of at least 80 columns by 24 lines
Please resize your window
fatal: This program requires a screen size of at least 80 columns by 24 lines
Please resize your window
l0g1t3ch ::
Konec meseca bi lahko ST-ju nakazal kake četrt svoje plače
Sicer pa je to stvar collation-a. Kolikor se še spomnim MySQL časov.
Sicer pa je to stvar collation-a. Kolikor se še spomnim MySQL časov.
Zgodovina sprememb…
- spremenilo: l0g1t3ch ()
l0g1t3ch ::
Ah...
Pogledal bolje in vidim da specificiraš "utf8mb4_bin", kar zgled prav. Ampak očitno tega ne upošteva.
Bug?
Ali pa je treba naštudirat detajle dokumentacije :)
Pogledal bolje in vidim da specificiraš "utf8mb4_bin", kar zgled prav. Ampak očitno tega ne upošteva.
Bug?
Ali pa je treba naštudirat detajle dokumentacije :)
HotBurek ::
Sem šel gledat na internete, in ena od opcij je, da se stolpec definira kot VARBINARY.
https://stackoverflow.com/questions/117...
Za zdaj sem se odločil, da teh vrednosti (takih, ki imajo na koncu presledek), še naprej ne bom shranjeval v tabelo in bom rešil zadevo drugače.
https://stackoverflow.com/questions/117...
Za zdaj sem se odločil, da teh vrednosti (takih, ki imajo na koncu presledek), še naprej ne bom shranjeval v tabelo in bom rešil zadevo drugače.
root@debian:/# iptraf-ng
fatal: This program requires a screen size of at least 80 columns by 24 lines
Please resize your window
fatal: This program requires a screen size of at least 80 columns by 24 lines
Please resize your window
Zgodovina sprememb…
- spremenilo: HotBurek ()
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | Mariadb (InnoDB) istočasni insert v tabelo iz različnih procesov (strani: 1 2 )Oddelek: Programiranje | 7470 (3828) | 2g00d4u |
» | [MariaDB] Zakaj SQL enači "ab " z "ab" v WHERE pogoju?Oddelek: Programiranje | 1066 (651) | DamijanD |
» | [MariaDB] Kako definirat tabelo, da bo index ločil med "a" in "ä"?Oddelek: Programiranje | 797 (511) | Miha 333 |
» | [UWP] [C#]Oddelek: Programiranje | 4206 (2236) | BivšiUser2 |
» | MySql Vprasanje - problem dupliciranih kljucevOddelek: Izdelava spletišč | 1448 (1270) | KernelPanic |