mysql-də sütunların yenilənməsi

salam. mysql bazasında iki cədvəlim var. 

 

cədvəl1

A----B---C---D---E
1 ---b1--c1--d1--e1
2---b2--c2--d2--e2
3---b3--c3--d3--e3
4---b4--c4--d4--e4
5---b5--c5--d5--e5

 

cədvəl2

A----B---C---D---E
1 ---b1--c1--d1--e1
4---b4--c4--d4--e4
5---b5--c5--d5--e5

 

 

hər ikisində də təxminən 10-15 min sıra məlumat var.  birinci cədvəldəki məlumatlardan ikincidə olmayanları ora köçürmək üçün  nə etməliyəm? aşağıdakı kimi bir şey yazdım, amma nəticədə 0 rows affected yazır. bu sintaksisə daha nə əlavə etməliyəm?

[code]UPDATE x, y SET y.a = x.a,  y.b = x.b  [/code]




Verilmiş cavablar və yazılan şərhlər (7 cavab var)

Shahriyar Rzayev (2013-05-26 18:24:24)
Başa düşülməyən sualən başa düşülməyən izahı :)

marmeladze (2013-05-25 10:38:40)
bunun nəticəsi belə oldu ki, bu [code]INSERT IGNORE INTO `cedvel2` ( A, B, C, D, E ) SELECT `A`, `B`, `C`, `D`, `E` FROM `cedvel1`[/code] query-dən sonra təxminən yarım saat loading yazıldı. bir iki dəfə kəsib təzədən başlatdım, bu dəfə 1 saata qədər çıxdı. ən sonra fikirləşdim ki, məlumatları çəkmək üçün elə birinci cədvəli işlətsəm daha yaxşı olar -)) cədvəl1-in adını cədvəl2-yə dəyişdim -))

VendeTTA (2013-05-24 22:19:08)
Bunun nəticəsi necə oldu ? Çalışaq nəticələri də həmişə yazaq ki, həm cavab yazanlara məlum olsun, həm də yenidən belə halla gələcəkdə rastlaşacaq insanlara köməyi dəymiş olsun sualın. Əks halda suala və cavablara baxaraq heç bir nəticə çıxarmaq olmur.

VendeTTA (2013-05-20 17:52:16)
Hazırki halda ən yaxşı üsul budur. Təbii ki, while operatoru ilə də etmək olar. İlk öncə məlumatları çəkib sonra insert etməklə. Amma düşünürəm yuxarıda yazdığım üsul MySql-da basic olaraq varsa velosiped üsullara əl atmasaq daha yaxşı olar. Server güclü olduqdan sonra 15-16000 sətir boş şeydir.

Shahriyar Rzayev (2013-05-20 16:27:29)
bu cür sual vermək düzgün deyil. 1. Cədvəl strukturunu göstərin [code]show create table cedvel1; show create table cedvel2;[/code] 2. Cədvəllərdən heç olmasa biraz məlumat göstərin [code]select * from cedvel1 limit 10; select * from cedvel2 limit 10;[/code] 3. 1-ci cədvəldə olan məlumatları 2-ciyə köçürtmək nə deməkdir? 1-ci hansıdır 2-ci hansıdır? Sizə lazımdır insert ya update? 1-ci yə əsasən 2-cidə update? ya 1-ciyə əsasən 2-ciyə insert?

marmeladze (2013-05-20 15:15:13)
bu sorğu ilə, 15-16 min sətiri bir dəfəyə dəyişdirmək məsləhətlidir?

VendeTTA (2013-05-20 14:13:30)
[code]INSERT IGNORE INTO `cedvel2` ( A, B, C, D, E ) SELECT `A`, `B`, `C`, `D`, `E` FROM `cedvel1`[/code] Əgər cədvəl 2-də UNIQUE və ya PRIMARY KEY mövcuddursa IGNORE mövcud olan məlumatları yenidən insert etməyəcək. Əgər vacib deyilsə və bütün məlumatları köçürmək istəyirsizsə IGNORE-ni ləğv edin sadəcə.

Mövzu üzrə bənzər suallara da baxa bilərsiniz.

MySQL-dən BLOB faylların oxunması

Ubuntu (apache 2) Ağ Səhifə

WordPress saytda vidgetleri editlemek və yeni vidgetlerin əlavə edilməsi haqqında

Kurssuz web proqramlaşdırma.

windows 7 update haqqında

Mysql AUTO_INCREMENT