Что такое SQL MODE в MYSQL (или любой СУБД)? - PullRequest
1 голос
/ 26 июля 2010

Что такое SQL MODE в MYSQL (или любой СУБД)?Кроме того, что является лучшим вариантом для режима SQL и почему?

Если бы у меня было объяснение неспециалисту с примером, было бы здорово!1005 *

Ответы [ 2 ]

1 голос
/ 26 июля 2010

Режим SQL влияет на поведение MySQL в определенных ситуациях. Например, это влияет на то, что происходит, если вы пытаетесь вставить слишком длинный контент в столбец типа текста. Допустим, у вас есть столбец типа CHAR(10) CHARACTER SET ascii NOT NULL, и вы пытаетесь вставить 'abcdef abcdef'. Это 13 символов, что слишком долго. Если текущий режим SQL включает STRICT_TRANS_TABLES или STRICT_ALL_TABLES, MySQL не будет вставлять значение, но выдаст сообщение об ошибке. Если ни один из них не включен, MySQL урезает строку до 10 символов, т.е. 'abcdef abc', и вставляет ее.

Существует множество других вариантов поведения, на которые влияет режим SQL. Это был просто пример.

Лично я использую TRADITIONAL, что является сокращением для ссылки, указанной в dcp. По сути, это делает MySQL менее прощающим, когда вы отправляете неверный ввод, что я считаю предпочтительным, потому что, если я отправлю MySQL что-то недопустимое, я бы лучше знал об этом, а не заставил бы MySQL выдумать это и не сказал бы, что это сделано.

0 голосов
/ 26 июля 2010

Всегда лучше обратиться к официальной документации .

Вы также можете использовать FAQ .

Проще говоря, он в основном управляет типом синтаксиса SQL, который должен поддерживать MySQL. Что касается того, что является «лучшим», это зависит от ваших конкретных потребностей. Например, допустим, вы переносите существующее приложение Oracle на MySQL. Вы могли бы рассмотреть возможность использования режима Oracle , чтобы облегчить этот переход.

Как правило, рекомендуется использовать настройки базы данных по умолчанию, если у вас нет для этого веских причин. Когда вы начинаете вносить изменения и переходить к нестандартным конфигурациям, это еще одна вещь, которую вы (или ваши администраторы БД) должны помнить, когда запускаете приложение в производство. С учетом вышесказанного, есть также много причин, чтобы полностью использовать возможности вашей базы данных. В конце концов, во многих системах RDBMS вы платите за них много денег, так почему бы не использовать их полностью?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...