צעדים ראשונים ב-MySQL – חלק ג'

‏ • 11 באוקטובר, 2003



במאמר הראשון והשני נגענו ביצירת מסדי נתונים ב MYSQL ובשינויים בין MYSQL ואקסס. במאמר זה אשתדל לגעת בכל מיני בעיות ופתרונות , טיפים וטריקים.

בעיית העברית

ב MYSQL יש בעיה מסוימת עם עברית.
מי שיגדיר שדה כ VARCHAR וינסה להשוות טקסט בעברית בשורת ה SQL לשדה זה יקבל תוצאות מאוד מוזרות (בין עם ע"י סימן = או LIKE ).
על מנת לפתור את בעיה זו יש לסמן ב ATRIBUTS של השדה את אפשרות BINARY ואז הבעיה נפתרת והשוואות טקסט בעברית תתבצע בצורה תקינה.
אולם, עליה וקוץ בה. עד לרגע סימון השדה כ BINARY , MYSQL התייחס לטקסט באנגלית כ case-insensitive אבל לאחר הסימון כ BINARY הוא יתייחס לשדה בטקסט באנגלית כ case-sensitive , כלומר A יהיה שונה מ a .
לכן מה שיש לעשות זה בזמן הכנסת הנתונים לשדות אלו להכניס את כולם כ LCASE (פונקציה שהופכת את כל הטקסט באנגלית לאותיות קטנות ומעברית היא מתעלמת).
הסבר נוסף בנושא כאן:
http://www.mysql.com/doc/en/Case_sensitivity.html

בעיית התאריכים:

מי שקרא את המאמר הקודם הבין ש MYSQL מתייחסת לשדה תאריך כשדה טקסט ולכן יש להכניס אליו את הערכים בשורת ה SQL כטקסט, מלבד אם נכניס ישירות את פונק´ ()NOW לשדה. MYSQL מתייחס גם בצורה שונה לתאריך כלומר הוא מבין את התאריך שונה מאקסס ותאריך אצלו מוגדר בצורה זו: YYY-MM-DD , כלומר כל הכנסת תאריך חייבת להתבצע במבנה זה!!! לדוגמא אם נרצה להכניס את התאריך של עוד חודש מהיום לשדה תאריך , לא נוכל להכניס לשדה את פונ´ NOW()+30 בתור דוגמא, אלא נצטרך בקוד ה ASP לבצע את שינוי התאריך ולבנות מחדש את התאריך במבנה ש MYSQL מכיר ויודע לעבוד עימו לדוגמא:




1
2
3
4

5
6
7
8
9  



year1=year(now()+30)
month1=month(now()+30)
day1=day(now()+30)
if len(month1)=1 then month1=0&month1
if len(day1)=1 then day1=0&day1
temp=year1 &"-" &month1 &"-" &day1


ורק אז נוכל להכניס אתtemp לתוך השדה בשורת ה SQL שלנו (שוב לא לשכוח להכניסו כטקסט).
הרחבות נוספות בנושא כאן:
http://www.mysql.com/doc/en/Using_DATE.html

הצפנה ב MYSQL

ל MYSQL יש פונק´ הצפנה חזקות מאות שבאות בילד אין ולכן אין צורך להצפין שדות מסויימים ב ASP ורק אז להכניס אותם ל MYSQL אלא אפשר להשתמש בפונק´ ההצפנה הפנימיות שלו בשורת ה SQL .
כלי מאוד חזק ושימושי זה יעזור לכם רבות.
הרחבות נוספות ניתן למצוא כאן:
http://www.mysql.com/doc/en/Miscellaneous_functions.html

המרת אקסס ל MYSQL

רבים רוצים לעבור מ אקסס ל MYSQL אך לא רוצים לאבד את המידע שיש להם באקסס. את ההמרה ניתן לבצע בעזרת תוכנת MYSQL-FRONT בקלות.
תוכנה זו משמשת כתוכנת ממשק ל MYSQL בדיוק כמו MySQL Control Center שהוצגה במאמר הראשון . היתרונות בה הם תוספת בילד אין של המרה מאקסס
ל MYSQL . את התוכנה ניתן להוריד מכאן:
http://mysqlfront.sstienemann.de
לאחר פתיחת התוכנה והגדרת ה HOST/IP שלכם כ LOCALHOST היכנסו לתפריט
IM/EXPORT ובחרו ב ODBC IMPORT .
ההמרה קלה ופשוטה.

בהצלחה!

תגיות: , , , , ,

תגובות בפייסבוק