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?
UPDATE x, y SET y.a = x.a, y.b = x.b
Verilmiş cavablar və yazılan şərhlər (7 cavab var)
1
Ə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ə.
0
bu sorğu ilə, 15-16 min sətiri bir dəfəyə dəyişdirmək məsləhətlidir?
1
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.
1
bu cür sual vermək düzgün deyil.
1. Cədvəl strukturunu göstərin
2. Cədvəllərdən heç olmasa biraz məlumat göstərin
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?
1
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.
0
bunun nəticəsi belə oldu ki, bu
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 -))
0
Başa düşülməyən sualən başa düşülməyən izahı 🙂
Sual verin
Cavab verin