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

  • Absolute Zero(Programming Tutorials)

    Absolute Zer

    22 Kasım 2012
  • EvilControllers

    EvilControll

    20 Ocak 2008
  • TheDigiCraft

    TheDigiCraft

    25 NİSAN 2011