SA-MP Forums Archive
mysql_insert_id() - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Русский/Russian (https://sampforum.blast.hk/forumdisplay.php?fid=32)
+---- Thread: mysql_insert_id() (/showthread.php?tid=555234)



mysql_insert_id() - OrangeJam - 07.01.2015

Добрый день! Я пишу мод на MySQL r8 и у меня есть система мебели.
Код:
mysql_format(connects,string,sizeof(string),"INSERT INTO `Furnitures` (`id`,`fumodelid`,`x`,`y`,`z`,`rx`,`ry`,`rz`,`fuworldid`,`fuinteriorid`,`fuName`,`fuNameFur`) VALUES ('%d','%d','%f','%f','%f','%f','%f','%f','%d','%d','%s','%s')",aPRIMARY,Model,oX,oY,oZ,rX,rY,rZ,wid,pint,FurnitureSystem[aPRIMARY][fuName],FurnitureSystem[aPRIMARY][fuNameFur]);
mysql_function_query(connects,string,false,"","");
Как мне узнать уникальное число для aPRIMARY, которое присваивается к `id`, которое в свою очередь является индексом PRIMARY? Если сохранять общее количество мебели, как обычно встречается в системе аккаунтов (maxaccounts), то число может выйти за границы. Ибо лимит FurnitureSystem - 200. Так же мебель можно удалять, т.е. появляются "пробелы" среди записей, т.е. 1,2,6,7 - но 3, 4 и 5 уже не будет с данной системой.
В общем, как найти пустое свободное `id` в промежутке от 0, до 200?


Re: mysql_insert_id() - nikita86826 - 07.01.2015

не нужно ничего узнавать, число задаётся автоматически в базе данных, поставь только в структуре A_I (автоматический инкримент). И нужно делать не aPRIMARY, а создать лучше отдельную переменную к примеру aID, а aPRIMARY при добавлении нового объекта aPRIMARY++, при удалении aPRIMARY--