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

MySQL - автоматично намаляваща стойност

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

Няма връзка между тези числа и изброяването.
Представете си, че искате да изберете записи по азбучен ред. Къде биха отишли ​​вашите скъпоценни числа? Базата данни не е като подреден списък, както вероятно си мислите. Това не е плосък файл с редове, съхранявани в предварително определен ред. Има съвсем различна идеология. Редовете в базата данни нямат никакъв ред. И ще бъде поръчан само в избрано време, ако е изрично зададено от ORDER BY клауза.
Освен това, база данни трябва да извърши търсене за вас. Така че можете да кажете, че с филтрирани редове или различно подреждане този номер с автоматично увеличение няма да има абсолютно нищо общо с реалните позиции на редовете.

Ако искате да изброите изхода - това е работа на слоя за презентация. Просто добавете брояч от страната на PHP.

И отново:тези числа трябва да идентифицират определен запис. Ако промените този номер, никога няма да намерите записа си отново.

Вземете за пример точно този сайт. Stack Overflow идентифицира своите въпроси с такъв номер:

И така, представете си, че сте запазили адреса на тази страница в отметка. Сега идва Джеф и преномерира цялата база данни. Натискате маркера си и попадате на различния въпрос. Целият сайт ще се превърне в ужасна бъркотия.

Запомнете:преномерирането на уникални идентификатори е зло!



  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. Как да изберете отделни редове, без да използвате група по оператор

  3. Има ли някакви реални ползи от използването на RDBMS спрямо плоски файлове в обикновена система за уеб документи (или основна CMS)?

  4. Извикване на съхранена процедура в съхранена процедура в MySQL

  5. Защо функциите mysql_ на PHP са отхвърлени?