auto_increment

4 отговора 232 прегледа
#1

auto_increment

Имам два въпроса: за МySql
1. Има ли начин брояча на колона с ауто инкремент да се промени на желана от мен стойност.
2. Как мога да разбера когато добавя запис каква е стойността в колона с ауто инкремент.

Благодаря предварително.
(za PHP e.)

Отговор
в отговор на stochna #2

Re: auto_increment

1. Ако имаш предвид дали можеш да сетнеш конкретна стойност в Autoincrement-поле - да, стига да не се настъпи с някоя съществуваща. При това, ако тази стойност е по-голяма от текущия брояч, той се ъпдейтва към нея;
2. LAST_INSERT_ID() ама, още по-добре, RTFM (както и за първия въпрос) :-\

Редактирано от bass на

Отговор
в отговор на bass #3

Re: auto_increment - tx:)

Blagodaria za pomoshtta. Mislia, che po vapros 2 shte mi svurshi chudesna rabota. Samo che za 1 imam predvid neshto podobno:
imam 100 zapisa i ID-tata sa ot 1 do 100. Tria tezi ot 30 natatak i mi se iska novite zapisi da sa s ID 30,31 i t.n., a ne 101,102 i t.n.

Ako ima nachin tova da stane shte e super! Otnovo blagodaria.

Отговор
в отговор на stochna #4

Re: auto_increment

По отношение на втория въпрос:

LAST_INSERT_ID() е функция от MySQL, т.е. налага се да напишеш и изпратиш нова заявка към MySQL сървъра за да разбереш тази стойност. По подобен начин, но с много по-малко писане работи една РНР функция:

$LastID = mysql_insert_id();

Отговор
в отговор на $burov #5

Re: auto_increment

"но с много по-малко писане"

Доста спорно твърдение. В някои случаи по-малкото писане е да се използва SQL

INSERT INTO t1 ...
INSERT INTO t2 VALUES(LAST_INSERT_ID()...

Освен по-малкото писане това спестява и една заявка към сървъра.
mysql_insert_id(); няма начин д аси свърши работата без да попита сървъра нали така?

От труга страна има случаи когато си прав естествено.

salle.online.bg/sig
Отговор