Добрых Дел Мастер
С нами с 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
|
|
|
|
www.phpdevs.com
С нами с 24.10.02
Сообщения: 16633
Рейтинг: 16105
|
Добавлено: 19/09/10 в 13:10 |
Может у тебя phpmyadmin косячит ? После truncate таблица в каком состоянии, чистая ? Если select в ней сделать, что будет ?
Плюс прогнать проверку на ошибки.
|
|
Пишу на php/mysql/django за вменяемые деньги.
Обращаться в личку.
|
4
|
|
|
Криптопохуист
С нами с 05.04.03
Сообщения: 17158
Рейтинг: 6019
|
Добавлено: 19/09/10 в 15:07 |
С инной редко имею дело, но по моему там очищать таблицу надо через DELETE. Где то в магах читал
|
|
|
|
Добрых Дел Мастер
С нами с 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 и "люди добрые, погадайте, в чем там дело, поломайте голову"
|
|
|
|
www.phpdevs.com
С нами с 24.10.02
Сообщения: 16633
Рейтинг: 16105
|
Добавлено: 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 |
|
|
|
|
Текстовая реклама в форме ответа Заголовок и до четырех строчек текста Длина текста до 350 символов Купить рекламу в этом месте! |