1

Тема: помогите чайнику!!!

Тестирую php-сценарии на denwer 3, там установлен phpmyadmin 2.11.7. Во всех таблицах поле id имеет такие параметры: int(10), auto_increment, первичный ключ. Суть проблемы: если записать в таблицу 10 строк, затем очистить ее, а затем записать в пустую таблицу строку, то в ячейке id этой строки будет значение 11. id не обнуляется, хотя согласно сценарию должен. вот процедура записи новых данных в табл:
if (isset($_POST['id']) && empty($_POST['id'])){
          mysql_query("INSERT INTO `page` VALUES ('0', '".$_POST['name']."', '".$_POST['description']."', '".$_POST['visibility']."')") or die(mysql_error());
          $id_info = mysql_query("SELECT `id` FROM `page` ORDER BY `id` DESC LIMIT 1") or die(mysql_error());
          $id = mysql_fetch_row($id_info);
          header("Location: index.php?id=".$id['0']."");
          }
всё вроде бы правильно, но id не обнуляется и изза этого, как я предполагаю, возникают проблемы в работе сайта. Может я не так оформляю id или что-то с этой версией phpmyadmin? помогите пожалуйста! нужно чтоб id при удалении данных тоже удалялся. Заранее признателен!!

2

Re: помогите чайнику!!!

performer
Чтобы обнулить счетчик автоинкремента, надо сперва полностью очистить таблицу с помощью запроса TRUNCATE:

TRUNCATE TABLE `tbl_name`;

3

Re: помогите чайнику!!!

полностью очистить таблицу нельзя, можно лишь по одной строке с помощью: DELETE FROM `табл` WHERE `id` = такой-то....

mysql_query("INSERT INTO `page` VALUES ('0', '".$_POST['name']."', '".$_POST['description']."', '".$_POST['visibility']."')") or die(mysql_error()); -----> я вписываю в ячейку id значение 0, но это не работает, id не меняется! подскажите плз, почему так происходит?

4

Re: помогите чайнику!!!

performer
Минимальное значение для поля с атрибутом auto_increment должно быть 1. Вставка значения меньше единицы будет увеличивать текущее максимальное значение поля.

5

Re: помогите чайнику!!!

ясно, спс