ABA


"אני צריך עזרה עם MYSQL הסתבכתי עם זה רצח"
גירסת הדפסה        
קבוצות דיון בניית אתרים נושא #14557 מנהל    סגן המנהל    מפקח   Winner    צל"ש   מומחה  
אשכול מספר 14557
akoka

דרג אמינות חבר זה
   07:48   06.11.08   
אל הפורום  
  אני צריך עזרה עם MYSQL הסתבכתי עם זה רצח  
 
   ערכתי לאחרונה בתאריך 06.11.08 בשעה 07:49 בברכה, akoka
 
זה די דחוף

יש לי טבלה deals שאני שומר בה נניח עסקאות שבוצעו ,במידה ובא משתמש ועורך את העסקה שלו אני צריך להעתיק את העסקה כמו שהיא(לפני העריכה) לטבלאת היסטורית העסקאות.

עכשיו במידה והוא עורך 300 פעם אז אני צריך ליצור 300 שורות בטבלת deals_history

השאילתא שלי היא משהו כזה


$this->dbobject->query("
INSERT `deals_archive`
SELECT * FROM
`request_deals`
WHERE `deal_id`=$this->deal_id");

אבל זה לא טוב לי כי אני לא יכול לעדכן עם זה שדה ספציפי ,ואז כול העסקאות ייצאו לפי התאריך ההתחלתי שלהם ,אני רוצה לעדכן את השדה date לתאריך העריכה האחרון ,איך בדיוק אני עושה את זה?

התיכנון בהתחלה היה להצמיד טריגר לטבלה ,שברגע שמתבצע UPDATE אז השאילתא הזאת רצה ,אבל טריגר לא יכול לקבל פרמטרים כמו deal_id אז זה לא יצא לפועל.

אחרי זה רציתי לכתוב SP ששם כן אפשר להכניס פרמטרים אבל הסתבכתי רצח אז ויתרתי על זה.

למישהו יש רעיון?

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


                                שתף        
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

  האשכול     מחבר     תאריך כתיבה     מספר  
  יש אלוהים akoka 06.11.08 08:20 1
     אהההה הקוד הסופי:} akoka 06.11.08 08:33 2
         לא יכולת פשוט לעשות SELECT לא ל-* ? Ice Cold  06.11.08 10:53 3
             אממ צודק חח:| סעמאק איתי להשמיד אותי akoka 06.11.08 11:16 4
                 אגב לא נראה לי שזה יעבוד akoka 06.11.08 11:19 5
  אולי טריגרים יוכלו לעזור לך djME 19.11.08 20:21 6
     בעיה ,טריגרים לא מקבלים פרמטרים , akoka 19.11.08 21:55 8

       
akoka

דרג אמינות חבר זה
   08:20   06.11.08   
אל הפורום  
  1. יש אלוהים  
בתגובה להודעה מספר 0
 
   פתרון מבוזבז רצח נראה לי אבל בכו"א


$this->dbobject->query("
CREATE OR REPLACE VIEW
history_deals_user_id_{$this->user_id} AS
SELECT * FROM `request_deals`
WHERE `deal_id`=$this->deal_id");

$this->dbobject->query("
UPDATE `history_deals_user_id_{$this->user_id}`
SET `deal_date`='".date('Y-m-d')."'
WHERE `deal_id`=$this->deal_id");

$this->dbobject->query("
INSERT `deals_archive`
SELECT * FROM
`history_deals_user_id_{$this->user_id}`
WHERE `deal_id`=$this->deal_id");

$this->dbobject->query("
UPDATE `request_deals`
SET `deal_points`='$this->deal_points',
`deal_title`='$this->deal_title',
`deal_category`='$this->deal_category',
`deal_solve`='$this->deal_solve_options',
`deal_content`='$this->deal_content',
`update_me_on_mail`='$this->update_me_on_mail',
`deal_note`='$this->deal_note',
`deal_date`='".date('Y/m/d')."',
`deal_status`='$this->deal_status'
WHERE `deal_id`=$this->deal_id
");


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
akoka

דרג אמינות חבר זה
   08:33   06.11.08   
אל הפורום  
  2. אהההה הקוד הסופי:}  
בתגובה להודעה מספר 1
 
  

$this->dbobject->query("
CREATE OR REPLACE VIEW
history_deals_user_id_{$this->user_id} AS
SELECT * FROM `request_deals`
WHERE `deal_id`=$this->deal_id");

$this->dbobject->query("
UPDATE `history_deals_user_id_{$this->user_id}`
SET `deal_date`='".date('Y-m-d')."'
WHERE `deal_id`=$this->deal_id");

$this->dbobject->query("
INSERT `deals_archive`
SELECT * FROM
`history_deals_user_id_{$this->user_id}`
WHERE `deal_id`=$this->deal_id");

$this->dbobject->query("
UPDATE `request_deals`
SET `deal_points`='$this->deal_points',
`deal_title`='$this->deal_title',
`deal_category`='$this->deal_category',
`deal_solve`='$this->deal_solve_options',
`deal_content`='$this->deal_content',
`update_me_on_mail`='$this->update_me_on_mail',
`deal_note`='$this->deal_note',
`deal_date`='".date('Y-m-d')."',
WHERE `deal_id`=$this->deal_id
");

$this->dbobject->query("DROP VIEW `history_deals_user_id_{$this->user_id}`");


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Ice Cold  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 3.8.02
28041 הודעות, 19 פידבק, 36 נקודות
   10:53   06.11.08   
אל הפורום  
  3. לא יכולת פשוט לעשות SELECT לא ל-* ?  
בתגובה להודעה מספר 2
 

insert into deals_history
select id,name, desc,NOW()....... from deals

זה היה קצת מקל עליך נראה לי...


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
akoka

דרג אמינות חבר זה
   11:16   06.11.08   
אל הפורום  
  4. אממ צודק חח:| סעמאק איתי להשמיד אותי  
בתגובה להודעה מספר 3
 
  


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
akoka

דרג אמינות חבר זה
   11:19   06.11.08   
אל הפורום  
  5. אגב לא נראה לי שזה יעבוד  
בתגובה להודעה מספר 4
 
   הקטע עם הNOW:|

אני אנסה בכו"א.


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
djME

דרג אמינות חבר זה
   20:21   19.11.08   
אל הפורום  
  6. אולי טריגרים יוכלו לעזור לך  
בתגובה להודעה מספר 0
 
  


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
akoka

דרג אמינות חבר זה
   21:55   19.11.08   
אל הפורום  
  8. בעיה ,טריגרים לא מקבלים פרמטרים ,  
בתגובה להודעה מספר 6
 
   זתומרת שכול פעם אני אצטרך להצמיד טריגר חדש לטבלה עם פרמטרים חדשים.

וכבר פתרתי את זה עם הselect into.


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

תגובה מהירה  למכתב מספר: 
 
___________________________________________________________________

___________________________________________________________________
למנהלים:  נעל | תייק בארכיון | מחק | העבר לפורום אחר | מחק תגובות | עגן אשכול
       



© כל הזכויות שמורות ל-רוטר.נט בע"מ rotter.net