שלח תשובה

זירת השאלות

534
צפיות
6
תשובות

MySQL – DELETE Error

,‏ 5 באוקטובר, 2004

אני מנסה למחוק כמה רשומות מכמה טבלאות במקביל:


m.deadline = CURDATE()
s.cid = m.id (of every one of m's records I deleted)


אז ניסיתי לעשות כך:


DELETE FROM m, s USING m, s WHERE m.deadline = CURDATE() AND s.cid = m.id


אבל MySQL מחזיר שגיאה.
אני מעדיף לעשות את זה בכמה שפחות שאילתות כי יש כבר לא מעט שאילתות בדף הזה ואני לא רוצה להכביד יותר מידי על השרת.

חג שמח ותודה מראש

תגיות:

6 תשובות

  1. n0p הגיב:

    גיליתי את הבעיה (עדיין לא פיתרון)
    לצערי, התמיכה ב- DELETE שמוחק יותר מטבלה אחת הוספה רק בגירסה 4.0.0 של MySQL. הגירסה שאני משתמש בה היא 3.23.58.
    אני צריך שזה יהיה כ- SQL Script (קובץ *.sql) ואני לא ממש מתמצא בנושא. למישהו יש מאמר בנושא SQL Scripts ו/או פיתרון לבעיה שלי?

    בתודה מראש

  2. זהר פלד הגיב:

    אני לא יודע מה התמיכה של mySql,
    אבל באופן כללי, שתדע, שאילתות DELETE הן די פשוטות מבחינת משאבים – זו שאילתה שכמעט כל המשאבים שהיא גוזלת הן בכל מקרה של מסד הנתונים.
    תבדוק תמיכה ב pl-sql, (יש מדריך באתר). לגבי sql script אין לי מושג, אבל אני יודע ש pl-sql היא שפה שמאפשרת הרבה יותר מ sql "רגיל".

  3. jonatan44 הגיב:

    נסה לחפש ב
    phpmyadmin, הוא יוצר קובצי SQL.

  4. n0p הגיב:

    תודה לכולם
    כמו שאמרתי, mySQL הוסיף תמיכה ל- DELETE רק מגירסה 4 לצערי, והשרת שלי לא מריץ גירסה זו.

    לא הבנתי את הרעיון עם PL-SQL, אבל בכל זאת תודה.

    אחרי יצירת קשר עם החברה בה אני מאכסן את האתר, הם הסכימו להעביר אותו שרת לשרת שמריץ mySQL 4 בשבוע הקרוב, ולכן זה כנראה יעבוד.

    תודה לכולם!

    Happy holiday hang-over

  5. זהר פלד הגיב:

    ואללה… לפחות לפי המדריך באתר,
    לא מוזכר שם שום מסד נתונים אחר.
    יש מצב שלכל מסד נתונים יש את ה "שפה" שלו.

שלח תשובה