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

  • MagmaRhino

    MagmaRhino

    16 Temmuz 2011
  • National Geographic

    National Geo

    7 Mayıs 2006
  • ParryGripp

    ParryGripp

    12 AĞUSTOS 2006