|
הרשם | ![]() |
שאלות ותשובות | ![]() |
רשימת חברים | ![]() |
לוח שנה | ![]() |
הודעות מהיום | ![]() |
חיפוש | ![]() |
|
![]() |
![]() |
|
כלים לאשכול | תצורת הצגה |
![]() |
# 1 |
אושיית הוסטינג
|
שאילתת Mysql לא תקינה
יש שאילתה שמאפשרת למשתמש למחוק את הפרופיל שלו מהמערכת,
אני מעוניין למחוק את השורה בכל טבלה שה-UID הוא 200. הטבלאות במסד הן: signup, users_blocks, users_flags, users_online, users_prefs ככה זה כתוב היום (וזה לא עובד) שאילתת מחיקה ליוזר מס' 20: קוד:
תודה אבי
__________________
אבי |
![]() |
![]() |
# 2 |
חבר וותיק
|
מה השגיאה?
|
![]() |
![]() |
# 3 |
אושיית הוסטינג
|
קוד:
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE UID = 200' at line 1
__________________
אבי |
![]() |
![]() |
# 4 |
חבר וותיק
|
לדעתי אתה אמור להגדיר בכל טבלה אידי
PHP קוד:
|
![]() |
![]() |
# 5 |
אושיית הוסטינג
|
ניסיתי כל מיני וריאציות ולא הצלחתי,
לגבי השאילתה שלך: קוד:
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE signup.UID = 200 and users_blocks.UID = 200 and users_flags.UID = 200 a' at line 1
__________________
אבי |
![]() |
![]() |
# 6 |
חבר וותיק
|
לפי מיטב זכרוני זה סתם מסובך למחוק בשיטה שאתה רוצה..
עדיף לך לדחוס שאילתות במכה אחת, זה שונה מלשלוח אותן שוב ושוב. ז"א DELETE FROM signup WHERE UID = 200;DELETE FROM signup WHERE UID = 200;DELETE FROM table3 WHERE UID = 200; * חשוב שתסיים את השאילתא ב ; ותתחיל אחת חדשה
__________________
פנוי לעבודה כמתכנת WEB - למידע נוסף: ליאור אמסלם. בניית אתרים באינטרנט - בלוג על בניית אתרים באינטרנט עם טיפים, מאמרים, מדריכי תכנות ועוד. משחקים אתר משחקים |
![]() |
![]() |
# 7 |
חבר מתקדם
|
בכל טבלה קיים השדה UID ? אם כן, בכל טבלה הוא זהה ל ID של ה USER ?
אני שואל כי זה הכי הגיוני, ומה ששגיא כתב פה אמור לעבוד. |
![]() |
![]() |
# 8 |
משתמש - היכל התהילה
|
כשמדובר בכמה טבלאות אתה צריך להוסיף בין ה DELETE ל FROM את שמות הטבלאות/שדות כמו בSELECT
DELETE `signup`.*, `asd`.* FROM `signup`, `asd` WHERE `UID` = 200 http://dev.mysql.com/doc/refman/5.0/en/delete.html
__________________
קו ישר, כי אפשר גם אחרת |
![]() |
![]() |
# 9 |
חבר חדש
|
למה שתרצה אגב למחוק נתון מהDATABASE?
אני פשוט עושה לו UPDATE לשדה STATUS 0. אין למה למחוק שום נתון עדיף לשמור . |
![]() |
![]() |
# 10 | |
חבר בקהילה
|
ציטוט:
כאשר אין שימוש בנתון נחוץ למחוק אותו כמובן מה הקטע בלשמור "זבל" על המסד נתונים? מבזבז זיכרון ומעלה את זמן הריצה של השאילתות על הטבלה בצורה ניכרת. |
|
![]() |
![]() |
חברים פעילים הצופים באשכול זה: 1 (0 חברים ו- 1 אורחים) | |
|
|