SORU
3 EYLÜL 2010, Cuma


EKLE YOKSA BAŞKA GÜNCELLEME VAR MI?

Buldum bir kaç "olur" çözümler için klasik "Nasıl ekleme yeni kayıt veya güncelleme biri varsa o zaten var" ama veremem şimdi herhangi biri için iş SQLite.

Bir tablo aşağıdaki gibi tanımlanır

CREATE TABLE Book 
ID     INTEGER PRIMARY KEY AUTOINCREMENT,
Name   VARCHAR(60) UNIQUE,
TypeID INTEGER,
Level  INTEGER,
Seen   INTEGER

Yapmak istediğim şey benzersiz bir ada sahip bir kayıt eklemek. Eğer Adı zaten varsa, bu alanları değiştirmek istiyorum.

Biri bana nasıl yapacağımı söyle lütfen?

CEVAP
3 EYLÜL 2010, Cuma


http://sqlite.org/lang_conflict.html bakabilirsiniz.

Gibi bir şey istiyorum:

insert or replace into Book (ID, Name, TypeID, Level, Seen) values
((select ID from Book where Name = "SearchName"), "SearchName", ...);

Ekle listesinde herhangi bir alan varsa satır tabloda zaten varsa NULL olarak ayarlanır unutmayın. Bu ID sütun için alt neden: değiştirme davasında ifade NULL olarak ayarlayın ve yeni bir KİMLİK altında tutulacak.

Bu yaklaşım da değiştirilmesi durumunda satır eğer özel alan değerleri yalnız bırakmak istiyorsanız kullanılabilir ancak alan Ekle durumda NULL olarak ayarlayın.

Örneğin, varsayarak Seen rahat bırakmanı istiyorum:

insert or replace into Book (ID, Name, TypeID, Level, Seen) values (
   (select ID from Book where Name = "SearchName"),
   "SearchName",
    5,
    6,
    (select Seen from Book where Name = "SearchName"));

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Ammine Getahun

    Ammine Getah

    21 HAZİRAN 2011
  • GOTO Conferences

    GOTO Confere

    3 EKİM 2011
  • nemoking of kinges

    nemoking of

    4 EYLÜL 2009