sql >> Databáze >  >> RDS >> Mysql

Mohu nastavit, aby sloupce tabulky mysql nerozlišovaly malá a velká písmena?

Ve výchozím nastavení MySQL nerozlišuje malá a velká písmena.

CREATE TABLE test
(
    name VARCHAR(20),
    UNIQUE(name)
);

mysql>     INSERT INTO test VALUES('California');
Query OK, 1 row affected (0.00 sec)

mysql>     INSERT INTO test VALUES('california');
ERROR 1062 (23000): Duplicate entry 'california' for key 'name'

mysql>     INSERT INTO test VALUES('cAlifornia');
ERROR 1062 (23000): Duplicate entry 'cAlifornia' for key 'name'

mysql>     INSERT INTO test VALUES('cALifornia');
ERROR 1062 (23000): Duplicate entry 'cALifornia' for key 'name'

mysql> SELECT * FROM test;
+------------+
| name       |
+------------+
| California |
+------------+
1 row in set (0.00 sec)

Použijte BINARY když potřebujete rozlišovat malá a velká písmena

Aby se v MySQL rozlišovala velká a malá písmena, BINARY klíčové slovo se používá následovně

mysql>     CREATE TABLE test
    ->     (
    ->         name varchar(20) BINARY,
    ->         UNIQUE(name)
    ->     );
Query OK, 0 rows affected (0.00 sec)

mysql>
mysql>     INSERT INTO test VALUES('California');
Query OK, 1 row affected (0.00 sec)

mysql>
mysql>     INSERT INTO test VALUES('california');
Query OK, 1 row affected (0.00 sec)

mysql>     INSERT INTO test VALUES('cAlifornia');
Query OK, 1 row affected (0.00 sec)

mysql>     INSERT INTO test VALUES('cALifornia');
Query OK, 1 row affected (0.00 sec)

mysql>
mysql>     SELECT * FROM test;
+------------+
| name       |
+------------+
| California |
| cALifornia |
| cAlifornia |
| california |
+------------+
4 rows in set (0.00 sec)


  1. Mohli byste těžit z vlastní databázové aplikace?

  2. MAMP MySQL nerozpoznává hodnoty my.cnf v OSX

  3. Všechny užitečné 11g dynamické zobrazení výkonu

  4. Spočítejte počet řádků, které nejsou od sebe vzdáleny více než 10 sekund