Въпрос за auto_increment в MYSQL

Noxy

Registered
Имам база данни. В таблиците имам поле id тип INT, Дължина/Стойност* Дължина/Стойност* 6, Допълнително auto_increment


като вкарам неща в базата данни всеки ред полулава id с 1 по-голямо от предишнот... обаче като изтрия едно има ли вачин и id тат на другите да се сменят.

Или поне кото имам 3 и изтрия ТРЕТОТО, след това създам следващо то получава ID 4 , а не заема мястото на изтритото ?
 

mute

Registered
Noxy каза:
Или поне кото имам 3 и изтрия ТРЕТОТО, след това създам следващо то получава ID 4 , а не заема мястото на изтритото ?

ами то неели така ? защото при мен поне е така
имам от 10 записа изтривам от 5-10 но като направя нов запис тои е с 11
 

Slavei

Registered
Noxy каза:
Имам база данни. В таблиците имам поле id тип INT, Дължина/Стойност* Дължина/Стойност* 6, Допълнително auto_increment


като вкарам неща в базата данни всеки ред полулава id с 1 по-голямо от предишнот... обаче като изтрия едно има ли вачин и id тат на другите да се сменят.

Или поне кото имам 3 и изтрия ТРЕТОТО, след това създам следващо то получава ID 4 , а не заема мястото на изтритото ?

Нарочно е направено така! Иначе ще стане голяма каша.
Ако правиш корекции на базата и изтриеш последния ред после може да коригираш стойността на аутоинкремента...
 

Admin

Registered
Noxy каза:
Имам база данни. В таблиците имам поле id тип INT, Дължина/Стойност* Дължина/Стойност* 6, Допълнително auto_increment


като вкарам неща в базата данни всеки ред полулава id с 1 по-голямо от предишнот... обаче като изтрия едно има ли вачин и id тат на другите да се сменят.

Или поне кото имам 3 и изтрия ТРЕТОТО, след това създам следващо то получава ID 4 , а не заема мястото на изтритото ?


А PRIMARY KEY ли е?
Направи го PRIMARY KEY и няма да имаш този проблем.
Id-то на таблицата е желателно да е първичен ключ.
 

dimithur

Registered
Точно днеска си загубих целия ден с тая досада но накрая му схванах цаката :)

Значи има начин и на мен лично ми върши работа. Целия номер е , като изтриеш реда от базата данни , да дропнеш колоната ID и след това да я създадеш на ново .

$query = "delete from именатаблица where ID = $променлива ";
mysql_query ("alter table именатеблица drop ID");
mysql_query("alter table именаблица add ID int(10) not null auto_increment primary key first");

След това, като правиш новия запис повтаряш същата процедура

mysql_query ("alter table именатеблица drop ID");
mysql_query("alter table именаблица add ID int(10) not null auto_increment primary key first");
$query = "insert into именатаблица values ("'.$ID."' , "'.$променлива."', "'.$променлива1."')";

При мен поне си работи идеално , значи първо като се изтрие остава дупка на мястото на изтритото, но после при новия запис, всичко си се напасва идеално . Може да е просто щастлива случайност все пак от 2 дена се занимавам с база данни . Дано ти свърши работа, успех :)
 

Горе