Posts

Showing posts with the label insert

העתקת רשומות מטבלה לטבלה ב - mysql

בכדי ליצור טבלה חדשה מטבלה קיימת, כלומר להעתיק טבלה ה - Syntax של MySQL הוא מאוד נח: CREATE TABLE newtable FROM SELECT * FROM oldtable אבל מה אם אנחנו רוצים להעתיק רשומות מטבלה לתוך טבלה אחרת, חלקן של הרשומות קיימות כבר בטבלה שאליה אנו רוצים להעתיק וחלקן רשומות חדשות. ברגע שננסה לבצע INSERT אנחנו עלולים ליצור כמה בעיות. במידה ואין לנו restriction אנחנו עלולים ליצור רשומות כפולות, ואילו במידה ויש unique או primary key הכנסת רשומה קיימת תיכשל ותעצור את העתקת הנתונים. ישנן כמה דרכים לבצע העתקה כזו, אבל לפי דעתי הנוחה ביותר הוא להשתמש בפקודת IGNORE לפקודת INSERT. כך רשומות קיימות לא יועתקו ואך ורק החדשות כן. INSERT IGNORE INTO dsttable SELECT * FROM srctable לקריאה נוספת: mysql , stackoverflow

הוספת רשומה ל - MySQL או לעדכן אם קיימת

בעבר אם היינו צריכים להכניס רשומה לטבלא היינו צריכים לבדוק האם היא כבר קיימת ובמידה וכן אז לעדכן. בגרסאות חדשות של MySQL ואם בונים נכון את הטבלא והגדרת ה - Keys וה - Unique ניתן להשתמש: INSERT INTO table (a,b,c) VALUES (1,2,3) ON DUPLICATE KEY UPDATE c=c+1 ' להכניס לטבלא ובאם ה- Key קיים אז לעדכן. לקריאה נוספת