Mysql
 sql >> база данни >  >> RDS >> Mysql

задаване на глобален sql_mode в mysql

BTW, ако зададете глобални стойности в MySQL:

SET GLOBAL sql_mode = 'NO_ENGINE_SUBSTITUTION';
SET SESSION sql_mode = 'NO_ENGINE_SUBSTITUTION';

Това няма да го зададе ЗА ПОСТОЯННО , и ще се върне след всяко рестартиране.

Така че трябва да зададете това във вашия конфигурационен файл (напр. /etc/mysql/my.cnf в секцията [mysqld]), така че промените да останат в сила след рестартиране на MySQL:

Конфигурационен файл:/etc/mysql/my.cnf

[mysqld] 
sql_mode = NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

АКТУАЛИЗАЦИЯ:По-новите версии на Mysql (напр. 5.7.8 или по-нова) може да изискват малко по-различен синтаксис:

[mysqld]
sql-mode="STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION"

Уверете се, че има тире между sql-mode не е долна черта и че режимите са в двойни кавички.

Винаги препращайте към MySQL Docs заваш версия, за да видите опциите на sql-mode .



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Невалидна стойност по подразбиране за 'dateAdded'

  2. Как да направя това в Laravel, подзаявка къде в

  3. MySQL преобразува низ от дата в Unix timestamp

  4. Функция MySQL LEAST() – Намерете най-малкия аргумент в списък с аргументи

  5. Мигриране на база данни на Oracle към MySQL на AWS, част 2