19-07-2008, 22:42
|
|
|
חבר מתאריך: 17.05.05
הודעות: 7,321
|
|
תודה ישראל
עברתי על העמוד הנ"ל גם לפני שפתחתי את האשכול, אבל הוא קצת לא ברור.
מצד אחד הם כותבים (בחלק העליון ביותר בעמוד):
ציטוט:
You can set the default SQL mode by starting mysqld with the --sql-mode="modes" option, or by using sql-mode="modes" in my.cnf (Unix operating systems) or my.ini (Windows). modes is a list of different modes separated by comma ( “,” ) characters. The default value is empty (no modes set). The modes value also can be empty (--sql-mode="" on the command line, or sql-mode="" in my.cnf on Unix systems or in my.ini on Windows) if you want to clear it explicitly.
|
מצד שני, המצב המסורתי (TRADITIONAL, כתוב בחלק התחתון של העמוד) שכביכול אפשר להחשיבו כברירת מחדל הוא:
ציטוט:
TRADITIONAL
Equivalent to STRICT_TRANS_TABLES, STRICT_ALL_TABLES, NO_ZERO_IN_DATE, NO_ZERO_DATE, ERROR_FOR_DIVISION_BY_ZERO, NO_AUTO_CREATE_USER.
|
ומצב ה-TRADITIONAL נחשב כ-STRICT:
ציטוט:
When this manual refers to “strict mode,” it means a mode where at least one of STRICT_TRANS_TABLES or STRICT_ALL_TABLES is enabled.
|
מצד שלישי אני לא בטוח שמה שכתוב בדוקומנטציה של MYSQL זה הברירת מחדל בשרתים.
יכול להיות שרוב השרתים מגדירים במכוון SQL MODE ספציפי אחר ממה שכתוב בדוקומנטציה שלהם...
עוד דבר שמוזר לי הוא שכשהתקנתי את ה-MYSQL אצלי ב-localhost (בגירסה 5.1.25 ), ה-sql_mode שכתבתי בהודעתי הראשונה הוגדר לי אוטומטית בהתקנה.
לכן איך יכול להיות שבדוקומנטציה של MYSQL הם כותבים דבר אחד, ובפועל בהתקנה מוגדר SQL MODE אחר?
שים לב שאותו הדבר כתוב בדוקומנטציה של MYSQL 5.1 (כאשר הקישור שהבאת הוא של 5.0 ... אך עדיין הבדל זה בגירסאות לא שונה מבחינת הנושא של SQL MODE)
בעיית מצב ה-STRICT התחילה בין היתר כשהתברר לי שבמצב זה איני יכול לתת ערך Default של מחרוזת ריקה לטור מסוג TEXT ( שאגב נראה לי הזוי שיגבילו אותנו כך סתם, אפילו אם זה Strict mode )
נערך לאחרונה ע"י DCD בתאריך 19-07-2008 בשעה 22:46.
|