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

Jak přidat možnost do sql_mode v MySQL bez ztráty stávajících nastavení

Zde je rychlý způsob, jak přidat možnost do sql_mode bez vymazání všech existujících možností.

Předpokládejme, že chceme přidat PIPES_AS_CONCAT do našeho stávajícího sql_mode .

Mohli bychom to udělat:

SET sql_mode=(SELECT CONCAT(@@sql_mode,',PIPES_AS_CONCAT'));

To připojí PIPES_AS_CONCAT aniž bychom vymazali naše stávající nastavení.

Příklad

Aby bylo jasno, zde je můj sql_mode vypadá jako před spuštěním výše uvedeného kódu:

SELECT @@sql_mode;

Výsledek:

ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION

Vidíme, že PIPES_AS_CONCAT není nikde k nalezení.

Nyní přidáme PIPES_AS_CONCAT do našeho sql_mode a pak znovu:

SET sql_mode=(SELECT CONCAT(@@sql_mode,',PIPES_AS_CONCAT'));
SELECT @@sql_mode;

Výsledek:

PIPES_AS_CONCAT,ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION

Nyní bylo přidáno. Ale co je nejdůležitější, žádná z ostatních možností nebyla ztracena.


  1. Kde jsou protokoly PostgreSQL na macOS?

  2. Left Outer Join nevrací všechny řádky z mé levé tabulky?

  3. MySQL:ALTER TABLE, pokud sloupec neexistuje

  4. 13 blogových článků o doporučených postupech a tipech pro návrh databáze