SORU
17 Temmuz 2009, Cuma


Nasıl MySQL otomatik artış değeri geçerli olarak 0 almaya zorlamak için

Bu sürekli yapılır skel stil dosyası olarak alma, ben istediğiniz bir SQL dosyası var, programlı uzun lafın kısası. İstiyorum ancak SQL dosyasını düzenleyebilirsiniz, daha ziyade uygulamanın kendisi dokunmak istemiyorum.

Bu uygulama userid = 0 anonim kullanıcı göstermek için kullanır. Ayrıca, bu temsil veritabanında (boş) ilgili girdi 'kullanıcı'. Dolayısıyla, skel.sql benim satır şuna benzer:

INSERT INTO `{{TABLE_PREFIX}}users` VALUES (0, '', '', '', 0, 0, 0, '', '', 0, 0, 0, 0, 0, NULL, '', '', '', NULL);

Bu sorunu uid auto_increment bir alan olması, teknik olarak, 0 geçersiz değer. Ya da en azından, 0, temelde MySQL söylüyorsun, "bu alana eklemek sonraki kimlik Lütfen." ayarlarsanız

Şimdi, herhalde koy INSERT UPDATE sorgu içine benim SQL dosyası yok, ama bir şekilde söylüyorum MySQL genel Evet, gerçekten istediğim için Ekle 0 Bu alan?

CEVAP
17 Temmuz 2009, Cuma


Cevap: here var:

Kullanabilirsiniz:

SET [GLOBAL|SESSION] sql_mode='NO_AUTO_VALUE_ON_ZERO'

Açıklandığı gibi here sonraki sıra NUMARASI olarak 0 ID UPDATE/INSERT yorumlama MySQL önleyecektir. Böyle bir davranış NULL sınırlı olacaktır.

Çok kötü uygulama bile bir davranış kabul ediyorum. Özellikle eğer daha sonraki bir tarihte çoğaltma uygulamak seçerseniz sürekli olarak kullanılan ... ... çok dikkatli olmak gerekir.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Droid Life

    Droid Life

    17 Kasım 2009
  • National Geographic

    National Geo

    7 Mayıs 2006
  • Santozz Yazz

    Santozz Yazz

    23 Mart 2014