SORU
22 NİSAN 2009, ÇARŞAMBA


YİNELENEN ANAHTAR - son insert id MySQL?

Aşağıdaki sorgu var:

INSERT INTO table (a) VALUES (0)
  ON DUPLICATE KEY UPDATE a=1

Ya da ekleme ve güncelleme KİMLİĞİNİ istiyorum. Genellikle insert_id inanıyorum bu elde etmek için ikinci bir sorgu çalıştırmak() döndürür 'KİMLİĞİ ve güncellenen KİMLİĞİ değil. eklenen

EKLEMEK için bir yol/ve iki sorgu çalıştırmadan satırın KİMLİĞİ almak GÜNCELLEME var mı?

Teşekkürler, Kevin

Cevabı şöyle: . güncelleme:

INSERT INTO table (a) VALUES (0)
  ON DUPLICATE KEY UPDATE id= LAST_INSERT_ID(id)

Teşekkürler!

CEVAP
22 NİSAN 2009, ÇARŞAMBA


Bu sayfayı kontrol edin: http://dev.mysql.com/doc/refman/5.0/en/insert-on-duplicate.html

MySQL belgelerine örnek:

Eğer bir tablo sütun isteğe bağlı bir isim ve bir EKLEME ... GÜNCELLEME bir satır ekler içeriyorsa, LAST_İNSERT_İD() işlevi, isteğe bağlı bir isim değeri. Deyim bir satır yerine güncellemeleri, LAST_İNSERT_İD() anlamlı değildir. Ancak, LAST_İNSERT_İD(ifade) kullanarak bu geçici bir çözüm bulabilirsiniz. Kimliği isteğe bağlı bir isim sütunu olduğunu varsayalım. LAST_İNSERT_İD() şöyle: güncelleştirmeler, satır eklemek için anlamlı

INSERT INTO table (a,b,c) VALUES (1,2,3)
  ON DUPLICATE KEY UPDATE id=LAST_INSERT_ID(id), c=3;

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • The Weavers of Eternity Paracord Tutorials

    The Weavers

    1 Ocak 2014
  • undrmyumbrellaa

    undrmyumbrel

    25 Temmuz 2012
  • Yo Mama

    Yo Mama

    18 EYLÜL 2005