דילוג לתוכן
  • דף הבית
  • קטגוריות
  • פוסטים אחרונים
  • משתמשים
  • חיפוש
  • חוקי הפורום
כיווץ
תחומים

תחומים - פורום חרדי מקצועי

💡 רוצה לזכור קריאת שמע בזמן? לחץ כאן!
  1. דף הבית
  2. תכנות
  3. sqlite- שינוי type של שדה אחרי הכנסת נתונים

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

מתוזמן נעוץ נעול הועבר תכנות
7 פוסטים 3 כותבים 222 צפיות
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • החיים יפיםה מנותק
    החיים יפיםה מנותק
    החיים יפים
    כתב ב נערך לאחרונה על ידי
    #1

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

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

    תגובה 1 תגובה אחרונה
    0
    • dovidD מנותק
      dovidD מנותק
      dovid ניהול
      כתב ב נערך לאחרונה על ידי
      #2

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

      מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

      בכל נושא אפשר ליצור קשר dovid@tchumim.com

      תגובה 1 תגובה אחרונה
      2
      • החיים יפיםה מנותק
        החיים יפיםה מנותק
        החיים יפים
        כתב ב נערך לאחרונה על ידי
        #3

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

        תגובה 1 תגובה אחרונה
        0
        • dovidD מנותק
          dovidD מנותק
          dovid ניהול
          כתב ב נערך לאחרונה על ידי
          #4

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

          מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

          בכל נושא אפשר ליצור קשר dovid@tchumim.com

          תגובה 1 תגובה אחרונה
          1
          • מנצפךמ מנותק
            מנצפךמ מנותק
            מנצפך
            כתב ב נערך לאחרונה על ידי
            #5

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

            dovidD תגובה 1 תגובה אחרונה
            0
            • החיים יפיםה מנותק
              החיים יפיםה מנותק
              החיים יפים
              כתב ב נערך לאחרונה על ידי החיים יפים
              #6

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

              תגובה 1 תגובה אחרונה
              1
              • dovidD מנותק
                dovidD מנותק
                dovid ניהול
                השיב למנצפך ב נערך לאחרונה על ידי
                #7

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

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

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

                מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

                בכל נושא אפשר ליצור קשר dovid@tchumim.com

                תגובה 1 תגובה אחרונה
                1

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

                • אין לך חשבון עדיין? הרשמה

                • התחברו או הירשמו כדי לחפש.
                • פוסט ראשון
                  פוסט אחרון
                0
                • דף הבית
                • קטגוריות
                • פוסטים אחרונים
                • משתמשים
                • חיפוש
                • חוקי הפורום