Реклама на сайте Advertise with us

Innodb, TRUNCATE

Расширенный поиск по форуму
 
Новая тема Новая тема   
Автор
Поиск в теме:

Добрых Дел Мастер

С нами с 03.05.08
Сообщения: 3143
Рейтинг: 1227

Ссылка на сообщениеДобавлено: 19/09/10 в 11:55       Ответить с цитатойцитата 

хз, может кто-то натыкался на такой глюк. Есть innodb таблица. в нее скрипт пишет данные (скрипт на BDSimple). простой скрипт:

public function setContentRaw($val) {
foreach ($val['article'] as $val2) {
$row = array(
'source_id' => $val['id'],
'url' => $val2['url'],
'title' => $val2['title'],
'date' => date('Y-m-d'),
);
$id = $this->connect->query("INSERT INTO `" . DATABASE . "`.`" . TB_CONTENT_RAW . "` SET ?a", $row);
echo $id . '<br />'; // Вернет ID-ы вставленных записей
}
}

Создаем БД, создаем таблицу. Запускаем скрипт. Отрабатывает нормально (т.е. пишет в базу). Очищаем таблицу, - в phpmyadmin тыкаем галку на корзину (что вызывает оператор truncate table). снова прогоняем скрипт - в таблицу не пишет. Если очистить таблицу через "выделить все строки - нажать крестик" - т.е. очистить построково. Снова запустить скрипт - пишет. т.е. все работает. Т.е. после операции truncate table скрипт в чистую таблицу не пишет нихера данные. Если самому руками создать строчку, потом ее удалить, потом прогнать опять скрипт - то все в поряде. Что за целка непробиваемая после truncate?

пришел к победе коммунистического труда

0
 



С нами с 10.12.03
Сообщения: 1615
Рейтинг: 870

Ссылка на сообщениеДобавлено: 19/09/10 в 12:51       Ответить с цитатойцитата 

поле автоинкрементное есть?

попробуй сделать
ALTER TABLE `table_name` AUTO_INCREMENT =1
после truncate

нету у меня подписи...

4
 

www.phpdevs.com

С нами с 24.10.02
Сообщения: 16633
Рейтинг: 16105


Передовик Master-X (01.09.2005) Передовик Master-X (16.09.2005) Передовик Master-X (01.10.2005) Передовик Master-X (16.08.2006) Передовик Master-X (16.10.2006) Ветеран трепа Master-X ()
Ссылка на сообщениеДобавлено: 19/09/10 в 13:10       Ответить с цитатойцитата 

Может у тебя phpmyadmin косячит ? После truncate таблица в каком состоянии, чистая ? Если select в ней сделать, что будет ?
Плюс прогнать проверку на ошибки.

Пишу на php/mysql/django за вменяемые деньги.
Обращаться в личку.

4
 

Криптопохуист

С нами с 05.04.03
Сообщения: 17156
Рейтинг: 6019

Ссылка на сообщениеДобавлено: 19/09/10 в 15:07       Ответить с цитатойцитата 

С инной редко имею дело, но по моему там очищать таблицу надо через DELETE. Где то в магах читал

4
 

Добрых Дел Мастер

С нами с 03.05.08
Сообщения: 3143
Рейтинг: 1227

Ссылка на сообщениеДобавлено: 19/09/10 в 19:46       Ответить с цитатойцитата 

спасибо други буду тестить. отпишусь
Pentarh: truncate итак очищает через delete если в таблице есть foreign key (в данном случае нет), а если нет то таблица удаляется и потом создается. автоинкремент на ноль
Stek: пхпадмин последний. мускуль 5.1.48-community. Стек а как ошибки посмотреть? логи? скрипт консольный. ошибок не выдает вообще никаких

пришел к победе коммунистического труда

0
 

Чингачгук, вождь красноглазых

С нами с 14.05.04
Сообщения: 4744
Рейтинг: 1824

Ссылка на сообщениеДобавлено: 19/09/10 в 21:17       Ответить с цитатойцитата 

Не гадай, просто включи query log и глянь, что там происходит. А то кусочек кода, неизвестная база без DDL и "люди добрые, погадайте, в чем там дело, поломайте голову" icon_wink.gif

0
 

www.phpdevs.com

С нами с 24.10.02
Сообщения: 16633
Рейтинг: 16105


Передовик Master-X (01.09.2005) Передовик Master-X (16.09.2005) Передовик Master-X (01.10.2005) Передовик Master-X (16.08.2006) Передовик Master-X (16.10.2006) Ветеран трепа Master-X ()
Ссылка на сообщениеДобавлено: 19/09/10 в 21:41       Ответить с цитатойцитата 

FXIX: в самом phpmyadmin посмотри пункты проверки таблиц на ошибки.

Цитата:
truncate итак очищает через delete если в таблице есть foreign key (в данном случае нет), а если нет то таблица удаляется и потом создается. автоинкремент на ноль

Не совсем так. С MyIsam таблица дропается и пересоздается заново. В InnoDB вроде просто через delete , хотя в новых версиях mysql обещали как то улучшить это дело.

Пишу на php/mysql/django за вменяемые деньги.
Обращаться в личку.

0
 



С нами с 01.03.07
Сообщения: 304
Рейтинг: 223

Ссылка на сообщениеДобавлено: 22/09/10 в 18:24       Ответить с цитатойцитата 

да ты не первый такой

http://bugs.mysql.com/bug.php?id=11946

0
 
Новая тема Новая тема   

Текстовая реклама в форме ответа
Заголовок и до четырех строчек текста
Длина текста до 350 символов
Купить рекламу в этом месте!


Перейти:  



Спонсор раздела Стань спонсором этого раздела!

Реклама на сайте Advertise with us

Опросы

Рецепт новогоднего блюда 2022



Обсудите на форуме обсудить (11)
все опросы »