Birbirine bağlı iki satır eklemek için en etkili yolu

1 Cevap php

Ben aslında bağlantıları bir koleksiyon bir site var. Kullanıcılar, bağlantıları ve oy depolayan bir MySQL veritabanı. Benim bağlantılar tablo iki yabancı anahtarlar, user_id ve vote_id vardır. Bir bağlantı veritabanına takıldığında ben oy tabloya bir satır eklemek gerekiyor ama onlar aslında varlığını birbirine bağlıdır demektir yüzden bir oy ile başlayacak. Ben yabancı oy tablonun anahtar ve tersi için bağlantıların kimliği gereklidir. Benim şu anki "plan" yabancı anahtar olarak, bu kimliğim seçmek ve benim orijinal bağlantılar satır güncellemek, 0 bir vote_id ile bağlantılar satır eklemek o kimliğin almak için aynı satırı seçin ve sonra bağlantıları satır kimliği kullanarak bir oy satır eklemek için . Bu gerçekten verimsiz gibi görünüyor ama emin kullanıcıların oy zaman yinelenen oy tutmak ve ortadan kaldırılması için kaydedilir yapmak gerekir. Ben bu konuda yanlış şekilde gidiyorum?

1 Cevap

PHP, kullanabilirsiniz mysql_insert_id:

mysql_query("INSERT INTO mytable (product) values ('kossu')");
printf("Last inserted record has id %d\n", mysql_insert_id());

Siz yeni eklenen bağlantı satır kimliği almak için kullanabilirsiniz.

Bir oy varsayarak sadece bağlantıları tablo vote_id sütun olmamalıdır, bir bağlantı ait olabilir. Yani yeni eklenen oyların kimliğini gerekmez.