sqlite- שינוי type של שדה אחרי הכנסת נתונים



  • שלום רב,
    יש לי טבלה שכשייצרו אותה משום מה לא הגדירו לאחד השדות type, השדה אמור להיות INTEGER, עד עכשיו זה לא גרם לבעיות אבל פתאום בזמן האחרון כששומרים נתונים הערך בשדה זה נשמר כ-FLOAT לדוגמא אם רוצים להכניס לשדה את המספר 4 זה נכנס כ-4.0, וזה גורם להרבה בעיות במיוחד בסינון נתונים.

    השאלה אם כעת כבר שיש נתונים יש אפשרות להגדיר את הסוג של השדה הזה או שה יכול לגרום לבעיות? אם אפשר אז כיצד?
    אשמח לשמוע חוות דעת מקצועית!
    תודה רבה



  • יש כזה דבר בsqlite ללא טיפוס? לא נראה לי.
    עכ"פ בSQLITE א"א לשנות טיפוס של שדה בטבלה וגם לא להסירו. אז יש לך שתי אפשרויות:
    אחת -פשוטה וטובה לדעתי: צור טבלה חדשה עם אותם עמודות עם השינוי מfloat לint,
    ואח"כ תעתיק את הנתונים בשאילתה מהטבלה הישנה לחדשה, ואז תוכל למחוק את הישנה ולשנות את שמה של החדשה לשם הקודם.
    השניה, לשנות את שם השדה, ואז להוסיף שדה חדש עם השם המקורי מסוג int, ואח"כ לעדכן את ערכו של השדה החדש עם שאילתה פשוטה.



  • הוסיפו את השדה הזה בקוד אחרי יצירת הטבלה : 'ALTER TABLE students ADD COLUMN teacherId'
    וכך קרה שלא הגדירו סוג.
    כנראה אשתמש באפשרות הראשונה שהצעת.
    תודה רבה!



  • נכון בsqlite לא חייבים לציין טיפוס... יאהוו בכלל לא הכרתי
    https://www.sqlite.org/datatypes.html


  • תכנות

    מה מפריע לך לשמור את הנתונים ב FLOAT ולפרסר אותם לפי הצורך?
    FLOAT שומר לך יותר מידע מ integer



  • כי כשאני רוצה לשלוף תלמידים שה-teacherId שווה לדוגמא 4 אז הוא לא מוצא תלמידים כאלה כי ה-teacherId שלהם שווה 4.0 ולא 4.
    בנתיים מה שעשיתי עד שאטפל בטבלאות עצמן זה להמיר בשאילתה את השדה ל-INT ואז לשאול עליו.
    4=((SELECT * FROM students WHERE ((CAST(teacherId AS INT



  • @מנצפך אמר בsqlite- שינוי type של שדה אחרי הכנסת נתונים:

    מה מפריע לך לשמור את הנתונים ב FLOAT ולפרסר אותם לפי הצורך?
    FLOAT שומר לך יותר מידע מ integer

    אם כבר שיעשה double או bigint.... אם לא צריך בטח שזה מיותר ויקר.


התחבר כדי לפרסם תגובה
 

22
מחובר

1.5k
משתמשים

5.3k
נושאים

58.6k
פוסטים

סלולר כשר במחירים הנמוכים ביותר עם ובלי ניוד.

כנסו לאתר לקניה מקוונת, או בדקו סניף קרוב לביתכם.

מוצרים עם הנחה

לחצו פה כדי להגיע לרשימת מוצרים עם הנחה בקיאספי.

בהגעה דרך הלינק, ישנה הנחה בשלב התשלום בקופה!

בא תתחבר לדף היומי!