Форум dkLab и Denwer
Здесь общаются Web-разработчики.
Генеральный спонсор:
Хостинг «Джино»

Не вносятся записи в таблицу (СашаУфа)
Author Message
СашаУфа
Участник форума



Joined: 21 Sep 2006
Posts: 43
Карма: 0
   поощрить/наказать


PostPosted: Thu Nov 09, 2006 9:12 pm (написано за 4 минуты 39 секунд)
   Post subject: Не вносятся записи в таблицу
Reply with quote

Здравствуйте. Я написал скрипт, который кроме всего прочего, вставляет запись в таблицу. Точнее, должен вставлять, но этого не происходит: исполняю скрипт, открываю БД через phpMyAdmin, новой записи в соответствующей таблице не обнаруживаю. Но, вставляя запись через phpMyAdmin, нарушается авто -нумерация ключа, т.е. до этого были записи 1,2,3,...,9, а потом сразу идет 13. Вот строка внесения записи в таблицу:$sql = "INSERT INTO `naimen` (`name`, `unitsID`) VALUES ('".$name2."', '".$unitsID2."')";.
Права пользователя на INSERT включены. Подскажите, пожалуйста, в чем может быть дело. Спасибо.
Back to top
View user's profile Send private message
СашаУфа
Участник форума



Joined: 21 Sep 2006
Posts: 43
Карма: 0
   поощрить/наказать


PostPosted: Thu Nov 09, 2006 11:47 pm (спустя 2 часа 35 минут; написано за 7 минут 1 секунду)
   Post subject:
Reply with quote

Продолжение... Когда посредством phpMyAdmin вношу новую запись, затем ее удаляю и снова вношу, ключевое поле (автоинкремент) постоянно увеличивается...а номер ключа, естественно, вручную не пишу...например, была запись из двух полей 4----красный. стираю ее и снова пишу "красный"...а МуСКЛ присваивает номер ключу=5, хотя четвертого в таблице и нет...при повторении вышеописанных действий ключ равен 6 и т.д...при перезапуске проблема не исчезает... В чем может быть проблема (включая то, что и посредством скрипта не вносится запись)? Может, в настройке конф. файлов? Или патч какой-нибудь нужно установить? Спасибо. P.S. Файл приложил, поменял расширение, а то пхп-файл не удалось прикрепить . Скрипт работает весь за исключением функции INSERT в конце файла.


vveli.txt
 Description:

Download
 Filename:  vveli.txt
 Filesize:  1.79 KB
 Downloaded:  168 Time(s)

Back to top
View user's profile Send private message
Maus
Модератор



Joined: 29 Jun 2003
Posts: 8151
Карма: 271
   поощрить/наказать

Location: пос. Омсукчан Магаданской области

PostPosted: Fri Nov 10, 2006 10:27 am (спустя 10 часов 40 минут; написано за 1 минуту 4 секунды)
   Post subject:
Reply with quote

СашаУфа
Автоинкермент работает строго как и должен. Вы не учитываете, что его значение может быть внешним ключом в иных таблицах
Back to top
View user's profile Send private message
СашаУфа
Участник форума



Joined: 21 Sep 2006
Posts: 43
Карма: 0
   поощрить/наказать


PostPosted: Fri Nov 10, 2006 11:27 am (спустя 59 минут; написано за 4 минуты 11 секунд)
   Post subject:
Reply with quote

Maus
До этого все работало нормально. Да, ключ в той таблице используется как внешний в иных таблицах, однако, изменение я вношу именно в эту таблицу и никуда более. И потом, связь по ключам я осуществляю в самих запросах, а не через phpMyAdmin... Поэтому вопрос остается открытым... А по поводу внесения изменения в таблицу посредством php-скрипта, в чем там может крыться проблема? Спасибо.
Back to top
View user's profile Send private message
Maus
Модератор



Joined: 29 Jun 2003
Posts: 8151
Карма: 271
   поощрить/наказать

Location: пос. Омсукчан Магаданской области

PostPosted: Fri Nov 10, 2006 11:58 am (спустя 30 минут; написано за 5 минут 27 секунд)
   Post subject:
Reply with quote

СашаУфа
MySQL не имеет никакого понятия о том, что Вы там осуществляете и как. Поскольку целостности ключей в MyISAM-таблицах нет, то если хотите, чтоб нумерация шла без пропусков - пишите скрипт, который будет периодически проводить перенумерацию. Либо отказывайтесь от автоинкремента и делайте его вручную (со всеми вытекающими проблемами).
Но имхо, эта задача бессмысленна - в 99.99% случаев достаточно либо уникальности автоинкремента (упорядоченность тут оказывается невостребованной фичей), либо того, что последующее значение ключа заведомо больше текущего (неважно, насколько именно).

Подобный вопрос уже задавался - то ли здесь, то ли на xpoint.ru . Поищите.
Back to top
View user's profile Send private message
СашаУфа
Участник форума



Joined: 21 Sep 2006
Posts: 43
Карма: 0
   поощрить/наказать


PostPosted: Sat Nov 11, 2006 1:13 pm (спустя 1 день 1 час 14 минут; написано за 5 минут 16 секунд)
   Post subject:
Reply with quote

Maus
Прошу прощения! Действительно, автоинкремент работает корректно, а то, что "до этого все работало нормально", было связано с другим. И вставка записей происходит, ибо в прошлом забывал прописывать $result=mysql_query().
А вот Вы говорите: "...целостности ключей в MyISAM-таблицах нет...". По этому поводу хотелось бы узнать вот что. В phpMyAdmin имеется раздел "Внутренние связи" для связки ключей. Это действует только тогда, когда использовать БД непосредственно? Или это может быть полезным, если писать управление своей БД через php-скрипт? Просто неясно... Если есть соответствующая статья, дайте, пожалуйста, ссылочку, и/или, если несложно, посоветуйте. Большое спасибо.
Back to top
View user's profile Send private message
Maus
Модератор



Joined: 29 Jun 2003
Posts: 8151
Карма: 271
   поощрить/наказать

Location: пос. Омсукчан Магаданской области

PostPosted: Sun Nov 12, 2006 1:13 am (спустя 12 часов 26 секунд; написано за 1 минуту 57 секунд)
   Post subject:
Reply with quote

СашаУфа
честно говоря, не припомню такой опции. Возможно, это раздел появляется только при работе с InnoDB-таблицами?
Back to top
View user's profile Send private message
СашаУфа
Участник форума



Joined: 21 Sep 2006
Posts: 43
Карма: 0
   поощрить/наказать


PostPosted: Wed Nov 15, 2006 6:08 pm (спустя 3 дня 16 часов 55 минут; написано за 1 минуту 29 секунд)
   Post subject:
Reply with quote

Maus
Честно говоря, не знаю что такое InnoDB-таблицы. Но опция такая есть, только как она работает и работает ли при исполнении php-скрипта для этой БД...
Back to top
View user's profile Send private message
Горбунов Олег
Участник форума



Joined: 19 Aug 2006
Posts: 139
Карма: 1
   поощрить/наказать


PostPosted: Wed Nov 15, 2006 6:18 pm (спустя 9 минут; написано за 1 минуту 22 секунды)
   Post subject:
Reply with quote

СашаУфа, помоему то, о чем вы говорите, если я правильно понял о чем речь, просто используется в phpMyAdmin для рисования схем зависимостей и прямой функциональности для БД не имеет. =)
Back to top
View user's profile Send private message
СашаУфа
Участник форума



Joined: 21 Sep 2006
Posts: 43
Карма: 0
   поощрить/наказать


PostPosted: Sat Nov 18, 2006 11:05 pm (спустя 3 дня 4 часа 46 минут; написано за 1 минуту 20 секунд)
   Post subject:
Reply with quote

Горбунов Олег
Привычнее прописывать все "ручками" на php, надежней:). Спасибо за ответ, прояснили ситуацию!
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic All times are GMT + 3 Hours
Page 1 of 1    Email to a Friend.
You cannot post new topics in this forum. You cannot reply to topics in this forum. You cannot edit your posts in this forum. You cannot delete your posts in this forum. You cannot vote in polls in this forum. You cannot attach files in this forum. You can download files in this forum.
XML