Mysql
 sql >> база данни >  >> RDS >> Mysql

Вмъкнете в поле за автоматично нарастване

Добре, преди да получите отговора на въпроса си, трябва да ви предупредя за изключително лоша практика, която се опитвате да направите там. Не ме разбирайте погрешно, мнозина са се опитвали да правят това, което правите вие, но това просто не е начинът, по който нещата трябва да работят.

Вашият auto_incremented ID е първичен ключ. Първичният ключ се използва за уникално идентифициране на ред в таблица. Това е. Няма друго специално значение освен това.

И така, какво означава това за вас? Това означава, че идеята ви, че ще "резервирате" 1 - 10k за админи е лоша. Защо е лошо? Защото подправяте първичния ключ. Никога не трябва да решавате каква трябва да бъде стойността на първичния ключ, това е работа на базите данни по много причини (последователност например). Другото нещо, поради което е лошо, е, че сте ограничили някого само до 10k възможни записа. От друга страна, как ще пресметнеш ли кое е следващото влизане за администраторите? Какво става, ако сте въвели 1, 2, 3, 4 и след това изтриете запис с ID =3? Какво се случва тогава? Каква е следващата ви стойност в последователността? 3 или 5?

Като каза това, вероятно трябва да преосмислите стратегията си. Защо не добавите поле „isAdmin“, което ще ви каже дали даден администратор е публикувал нещо или не?




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Лошо ли е да се използва потребителско име като първичен ключ в дизайна на база данни?

  2. MySQL заявка, COUNT и SUM с две обединени таблици

  3. backtick не работи за изпълнение на mysql заявки в shell скрипт

  4. Как да намерите рождения ден на ПРИЯТЕЛИ, които празнуват днес, използвайки PHP и MYSQL

  5. Поле за дата и час на Django - преобразувайте в часова зона в изглед