Skip to main content

העתקת רשומות מטבלה לטבלה ב - 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

Comments

Popular posts from this blog

Using phpword to merge two Mircrosoft Office Word .docx documents

How to combine or embed and insert another .docx file (Microsoft office docx word document) into another one using PHPWord Joining two .docx document using php ( phpword library ) $mainTemplateProcessor = new \PhpOffice\PhpWord\TemplateProcessor("file1"); //$mainTemplateProcessor ->setValue('var_name', $value); $innerTemplateProcessor = new \PhpOffice\PhpWord\TemplateProcessor("file2"); //$innerTemplateProcessor->setValue('var2_name', $value2); // extract internal xml from template that will be merged inside main template $innerXml = $innerTemplateProcessor->gettempDocumentMainPart(); $innerXml = preg_replace('/^[\s\S]*<w:body>(.*)<\/w:body>.*/', '$1', $innerXml); // remove tag containing header, footer, images $innerXml = preg_replace('/<w:sectPr>.*<\/w:sectPr>/', '', $innerXml); // inject internal xml inside main template $mainXml = $mainTemplateProcessor->gettempDocumentMainPart(

Bypassing the error by "go get" "tls: failed to verify certificate: x509: certificate signed by unknown authority"

When I was trying to download dependencies for my go project in an old Ubuntu machine I was getting this error all the time: "go: gopkg.in/alexcesaro/quotedprintable.v3@v3.0.0-20150716171945-2caba252f4dc: Get "https://proxy.golang.org/gopkg.in/alexcesaro/quotedprintable.v3/@v/v3.0.0-20150716171945-2caba252f4dc.mod": tls: failed to verify certificate: x509: certificate signed by unknown authority" Which the main part of it was go get failing to authenticate: " tls: failed to verify certificate: x509: certificate signed by unknown authority " I tried many things but couldn't make it work until I found the way: export GOINSECURE="proxy.golang.go" This will tell go get to ignore certification validity. Then export GOPROXY=direct This will tell go get to by pass proxy Then git config --global http.sslverify false And only after those I could run again: go get And it worked