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

   
|!|

השב
 
כלים לאשכול תצורת הצגה
ישן 07-02-10, 21:20   # 1
רומן
חבר מתקדם
 
מיני פרופיל
תאריך הצטרפות: Dec 2005
מיקום: באר שבע
גיל: 37
הודעות: 405
שלח הודעה באמצעות ICO אל רומן

רומן לא מחובר  

בשאילתת UPDATE יד דרך לדעת את מספר העידכון?

לדוגמא, יש לי 5 משתמשים, ויש תא בשם number,
אני רוצה בשאילתה אחת לעדכן בכולם מספרים שונים!
לדוגמא
update users set number=something++

אם זה גם ככה עובר על כל המשתמשים, אז יש איזו דרך לעדכן גם מספר שונה אצל כל אחד לפי הסדר שהוא מעדכן אותו? מקווה שהבנתם
  Reply With Quote
ישן 07-02-10, 22:26   # 2
AlmogBaku
חבר וותיק
 
AlmogBaku's Avatar
 
מיני פרופיל
תאריך הצטרפות: Nov 2007
מיקום: מודיעין
הודעות: 1,022

AlmogBaku לא מחובר  

UPDATE `tbl` SET `counter`=`counter`+1;
  Reply With Quote
ישן 07-02-10, 22:57   # 3
רומן
חבר מתקדם
 
מיני פרופיל
תאריך הצטרפות: Dec 2005
מיקום: באר שבע
גיל: 37
הודעות: 405
שלח הודעה באמצעות ICO אל רומן

רומן לא מחובר  

אני לא רוצה להגדיל את התא ב1, אני רוצה להכניס לשם מספר לפי סדר העידכון של השאילתה
  Reply With Quote
ישן 08-02-10, 02:40   # 4
MasterNetwork
עסק רשום [?]
 
מיני פרופיל
תאריך הצטרפות: Jun 2007
הודעות: 653

MasterNetwork לא מחובר  

אתה רוצה לעדכן את כל המשתמשים?
או שאתה רוצה ספציפי?
או שאתה רוצה טווח?
תפרט, לא ממש הבנתי..
אם אתה רוצה את כל המשתמשים אתה יכול לעשות update לכולם
אם אתה רוצה ספציפי אתה יכול לעשות update ספציפי
אם אתה רוצה טווח אתה יכול לעשות לולאה שבתוכה יהיה update למשתמש ספציפי
  Reply With Quote
ישן 08-02-10, 07:21   # 5
AlmogBaku
חבר וותיק
 
AlmogBaku's Avatar
 
מיני פרופיל
תאריך הצטרפות: Nov 2007
מיקום: מודיעין
הודעות: 1,022

AlmogBaku לא מחובר  

למה מראש לא לתת להם AUTO INCREMENT?
אפשרות אחרת היא שימוש בPHP.

אפשרות נוספת היא במידה ויש auto increment מסויים לעשות פעולה שעושה id+1.

Last edited by AlmogBaku; 08-02-10 at 07:25..
  Reply With Quote
ישן 09-02-10, 02:33   # 6
MasterNetwork
עסק רשום [?]
 
מיני פרופיל
תאריך הצטרפות: Jun 2007
הודעות: 653

MasterNetwork לא מחובר  

ציטוט:
נכתב במקור על ידי Baku צפה בהודעה
למה מראש לא לתת להם AUTO INCREMENT?
אפשרות אחרת היא שימוש בPHP.

אפשרות נוספת היא במידה ויש auto increment מסויים לעשות פעולה שעושה id+1.
אחי, הוא לא רוצה ב-insert... הוא כתב ב-update
בקיצר, לא ניראלי שבאמת מישהו מאיתנו הבין בדיוק מה הוא רצה..
  Reply With Quote
ישן 09-02-10, 12:28   # 7
IgalSt
מנהל פורום, עסק רשום
 
IgalSt's Avatar
 
מיני פרופיל
תאריך הצטרפות: Oct 2005
מיקום: המרכז
גיל: 38
הודעות: 1,432
Send a message via Skype™ to IgalSt

IgalSt לא מחובר  

אם הבנתי נכון אתה מעוניין לעדכן מונה מסויים לכל אחד מהמשתמשים בטבלה בתוך שדה NUMBER כך שבין משתמש למשתמש יהיה הפרש של אחד.

הדרך היחידה לעשות את זה באמצעות שאילתא היא לשלוף את כל המשתמשים מהטבלה לתוך מערך, אח"כ לרוץ על המערך ולכל אחד מהמשתמשים לעדכן באמצעות שאילתא כזאת:
קוד:
Update Users Set Number={i} Where UserId={UserId}
כאשר -
{i} זהו המונה שכל פעם גדל ב-1 (יכול להיות מונה הלולאה ויכול להיות משהו אחר - לפי הצורך
{UserId} - זהו מספר המשתמש שלפני רגע שלפת מהטבלה
  Reply With Quote
ישן 10-02-10, 09:02   # 8
רומן
חבר מתקדם
 
מיני פרופיל
תאריך הצטרפות: Dec 2005
מיקום: באר שבע
גיל: 37
הודעות: 405
שלח הודעה באמצעות ICO אל רומן

רומן לא מחובר  

לא הבנתם, לא בהכרח אני רוצה לרוץ על כל המשתמשים, ואם אני רוצה רק כאלה בגיל מסויים, אז שייעדכן רק 26 מתוך 100 משתמשים ובכל אחד מהם יהיה תא שגדול מהאחר ב1 בלבד לפי סדר העידכון, וכל זה בלי לולאה של php אלא בשאילתה אחת בלבד. (כי לולאה מאריכה את התהליך)
  Reply With Quote
ישן 10-02-10, 11:51   # 9
IgalSt
מנהל פורום, עסק רשום
 
IgalSt's Avatar
 
מיני פרופיל
תאריך הצטרפות: Oct 2005
מיקום: המרכז
גיל: 38
הודעות: 1,432
Send a message via Skype™ to IgalSt

IgalSt לא מחובר  

בלי לולאה בצד שרת אתה לא ממש יכול.
הפתרון השני יהיה פרוצדורה שעושה לולאה ב-DB.
בכל מקרה, באמצעות שאילתא אחת לא תוכל.

ואם אתה לא רוצה לרוץ על כל המשתמשים, כמובן בשאילתא הראשונה שממלאת את המערך שלך, אתה יכול להגדיר את מי אתה רוצה בדיוק..
  Reply With Quote
השב

חברים פעילים הצופים באשכול זה: 1 (0 חברים ו- 1 אורחים)
 

כלים לאשכול
תצורת הצגה

חוקי פירסום
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is מופעל
סמיילים הם מופעל
[IMG] קוד מופעל
קוד HTML מכובה

קפיצה לפורום


כל הזמנים הם GMT +2. הזמן כעת הוא 05:46.

מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ