2010-07-26 2 views
1

MYSQL (또는 임의의 RDBMS)의 SQL MODE 란 무엇입니까? 또한 SQL 모드와 그 이유에 대해 가장 좋은 옵션은 무엇입니까?MYSQL (또는 임의의 RDBMS)의 SQL MODE 란 무엇입니까?

예를 들어 평신도 설명을 할 수 있다면 좋을 것입니다!

는 그것은 official documentation를 참조하는 것이 좋습니다

+0

이 문제에 대해 문의 하시겠습니까? http://dev.mysql.com/doc/refman/5.0/en/server-sql-mode.html ** 특정 ** 질문에 대해 귀하가 가지고있는 이유는 무엇입니까? 매우 분명해 보인다. –

답변

1

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이 바람직하지 않은 무언가를 보내면 오히려 MySQL에 대해 알기보다는 오히려 알 수 있기 때문에 바람직합니다.

+0

감사합니다 @Hammerite 정말 그것을 이해하는 데 도움 ;-) – Imran

0

;-) 사전에 감사합니다.

FAQ을 사용할 수도 있습니다.

간단히 말해, 기본적으로 MySQL이 지원해야하는 SQL 구문 유형을 제어합니다. "최상의"것이 무엇인지에 관한 한, 그것은 당신의 특정한 요구에 달려 있습니다. 예를 들어, 기존 Oracle 애플리케이션을 MySQL로 포팅한다고 가정 해 보겠습니다. 이 전환을 쉽게하기 위해 Oracle 모드를 사용해보십시오.

일반적으로 데이터베이스의 기본 설정을 사용하는 것이 좋은 이유가 아니라면 일반적으로 데이터베이스의 기본 설정을 사용하는 것이 좋습니다. 일을 조정하고 비표준 구성을 시작하면 응용 프로그램을 프로덕션 환경에 적용 할 때 (또는 DBA의) 기억해야 할 한 가지 더 있습니다. 그렇다고해서 데이터베이스의 기능을 완전히 활용해야 할 이유가 많이 있습니다. 결국 많은 RDBMS 시스템에서 많은 비용을 지불하게됩니다.

+0

@ 아이 먼 - 환영합니다 :). – dcp