MySQL ile bir tabloya satır eklerken aynı anda başka bir tabloya da satır eklememiz gerekebilir. MySQL'de birden fazla tabloya veri eklemek için iki farklı INSERT komutu kullanabiliriz. Ancak eğer bir tablodaki giriş tamamlandıktan sonra o tablodaki bir değeri (ID gibi) diğer tabloda kullanmamız gerekirse bunun da çözümü var.
Örneğin iki adet tablomuz olsun.
- Kişiler tablosu
- Kişi rolleri tablosu
Kişiler tablosuna kullanıcı ID'si ve adını yazdıralım. Kişi rolleri tablosuna ise kişiler tablosundaki ID değerini ve rol olarak da "uye" rolünü yazdıralım. Ancak kişiler tablosundaki ID değeri, kullanıcı kayıt olduktan sonra otomatik olarak MySQL tarafından üretileceği için şöyle bir çözüm yolu uygulayabiliriz:
BEGIN;
INSERT INTO kisiler (ad)
VALUES('phpcoder');
INSERT INTO roller (kisiID, rol)
VALUES(LAST_INSERT_ID(),'uye');
COMMIT;
MySQL'de Auto incerement (otomatik artış) ile atanan ID değerlerini seçmek için LAST_INSERT_ID() fonksiyonunu kullanabilirsiniz.
Editör editi: sitedeki bazı diğer benzer başlıklar için;
bkz: MySQL ile tek seferde çok veri girmek
bkz: MySQL'de sonuç sayısını sınırlamak (Limit)
bkz: MySQL'de IS NULL ve IS NOT NULL Kullanımı ve Örnekleri
bkz: MySQL'de Tablodan Veri Seçmek (Select)
bkz: MySQL Veri Tipleri Nelerdir?
bkz: MySQL Anahtar Kelimeleri Nelerdir?