Głupie zachowanie MySQL

Posted by Jarosław Zabiełło Sun, 31 Dec 2006 04:16:00 GMT

Jak ktoś chce się pośmiać z MySQL, to niech zajrzy tutaj. Sprawdzałem nawet na najnowszym stabilnym MySQL 5.0.27. Czasem można dodać rekord o tym samym kluczu głównym, a czasem nie można. Po prostu obciach.

Tags  | 10 comments

Comments

  1. Avatar Tomasz Bielecki said about 6 hours later:

    Nic głupiego, taki ficzer że jak masz 0 albo NULL to leci z auto_increment. Wszystko jest w manualu. Szczęśliwego!

  2. Avatar MySZ said about 7 hours later:

    Ale to normalne zachowanie. Co w tym ‘obciachowego’ ?

  3. Avatar depesz said about 9 hours later:

    hmmm .. no ja cię przepraszam, ale podmienianie podanej wartosci na inną to zdecydowanie nie jest normalne zachowanie. jeszcze jestem w stanie zrozumiec podmiane null’i (aczkolwiek w/g mnie to i tak zle), ale podmiana “zero” na cos innego?

  4. Avatar Tomasz Bielecki said about 11 hours later:

    Ale to jest opisane w manualu. Jak chcesz możesz sobie skonfigurować żeby dialekt sql był bardziej “koszerny” (NO_AUTO_VALUE_ON_ZERO). Wtedy tylko null będzie przyjmować.

  5. Avatar MySZ said about 13 hours later:

    @depesz: taka opcja występuje tylko dla kolumn auto_increment-owanych. To kolumna specjalnego typu, i jako taką należy ja traktować. Jak to Tomasz Bielecki napisał: wystarczy czytać manual, i w razie potrzeby – wyłączyć.

  6. Avatar bartek said 2 days later:

    No, dokładnie – nigdy nie można “dodać rekordu o tym samym kluczu głównym”, nie można natomiast dodać rekordu o kluczu 0. Nawet manual nie jest potrzebny, wystarczy uważnie przeczytać to co napisał ten gość na ex-parrot.

    Ale rozumiem że wg Jarka MySQL jest do bani, liczy się tylko Ruby On Rails ;)

    Bartek

  7. Avatar Jarosław Zabiełło said 2 days later:

    Bartek, bez jaj :) Używam MySQL jeśli o to chodzi (głównie ze względu na prostotę i świetne collations)

    To zachowanie MySQL o którym napisałem jest wg mnie głupie. Nie tyle może to błąd (bo faktycznie, w dokumentacji jest o tym info), ale na pewno to jakaś niespójność. Bo po co takie rozróżnianie na zero, null i nie-null? Chyba wszystkie inne bazy mają null vs. wszystko, co niej jest równe null.

  8. Avatar climbus said 2 days later:

    To takie PHP’owe. Aby jak najmniej błędów było widać.

  9. Avatar rsz said 3 days later:

    MySQL – prawie jak RDBMS ;)

  10. Avatar Jarosław Zabiełło said 3 days later:

    Prawie – robi różnicę. :) Może oni chcą wprowadzić jakieś elementy fuzzy logic? ;)

(leave url/email »)

   Comment Markup Help Preview comment