i eki ile ile insert seçin veya sadece döngü kullanmak gerekir?

2 Cevap php

ben bu gelen cevapları kullanarak kullanıcı adlarının bir listesini elde var:

http://stackoverflow.com/questions/1273259/how-to-optimize-mysql-query-if-i-have-too-many-or-operators-in-my-query

şimdi ben başka bir sorunu var. Ben bir arkadaş tablo sadece 2 sütun, istek oluşur ve bir bileşik birincil anahtar dostum hem form var.

Şimdi ben yukarıdaki SO soru kullanarak belirli bir kullanıcı için facebook arkadaş bir dizi var varsayalım.

nasıl ben de otomatik olarak benim web uygulaması onları arkadaş olmak mı?

I 'UserA' adlı bir kullanıcı için 5 gerçek arkadaşlar varsa demektir. i 10 insert ifadeleri gerçekleştirmek gerekir.

örneğin: frienda, UserA ve UserA, frienda frienda userA bir arkadaş olarak yansıtılır böylece.

i seçin böylece uç etkili olduğunu anlamak. Benim yukarıdaki söz dost SO üyeleri tarafından önerilen, ancak ne yazık ki bu arkadaş adlarının listesi maddesini IN kullanarak değerleri bir PHP dizi ile elde edilir.

Peki ben ne yapmalıyım?

should i

a) isimleri döngü ve her adımı için 2 uç ifadeler yerine?

b) seçme, ekleme kullanabilir? ama tam olarak nasıl bunu yapmak için?

Benim DB bu şekilde tasarlanmıştır:

1 tablo adları ile kullanıcılara adlandırılan ve kullanıcı adı birincil anahtar ve fb_uid null olduğu fb_uid.

Bir sütun denilen istek ve dostum olarak adlandırılan başka bir sütun ile arkadaş denir 1 masa. Her iki sütun, bileşik anahtar oluşturur.

Arkadaşlar tablo (UserA, UserB) ve (UserB, UserA): Eğer şu veriye sahip olduğunda bir dostluk benim web uygulaması 2 kişilik (UserA, UserB) arasında kurulur.

Teşekkür ederim.

2 Cevap

Her zaman toplu ekleme yapabilirsiniz.

INSERT INTO friends (user_id, friend_user_id) VALUES (1, 2), (2, 1)

Ben INSERT SELECT Haydi, sen detailed syntax here bulabilirsiniz ile gitmek istiyorum.