The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"MySQL лимит записей в таблице"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Программирование под UNIX (MySQL)
Изначальное сообщение [ Отслеживать ]

"MySQL лимит записей в таблице"  +/
Сообщение от wolfthegray (ok) on 15-Фев-07, 03:57 
ppl, need help.

в общем, столкнулся с ситуацией:
есть mysql 5.0.27 (Win32), в нём база, в базе таблица с девятью полями одно - timestamp, остальные - numeric. есть файлик (~45Мб), содержащий данные для этой таблицы. количество записей в файлике - ~544 тысячи. написал парсер для этого файлика, который вычитывает из него строки, формирует запрос и исполняет его.

описание проблемы:
в таблицу MySQL добавляется только 123750 записей, после чего сервер возвращает ошибку "Incorrect datetime value: '2006/03/26 03:06:22.502000' for column 'CurrentTime' at row 1", хотя перед этим всё ок. со строкой и датой всё нормально: удаляешь строку из файла - ругается на следующую.

ОС: WinXP
Языки программирования: Java, C, C# (на всех трёх написаны аналогичные программы разбора и добавления - одна и та же картина :( )
Коннектор: с оф.сайта MySQL
Энжин таблицы: innodb, myisam (пробовал оба - количество добавляемых записей не меняется)

Пробовал играться с некоторыми параметрами MySQL, а-ля кеши, кеши логов, размеры файлов innodb, всякие big-tables, max(min)_rows для таблицы и т.п.
Пробовал на двух разных машинах (MySQL на обеих стоит, т.е. каждая к себе на локалхост инсертила).
Пробовал разбить фалик на меньшие по размеру по 100000 записей и стартовать прогу с каждым из них - первый файл залетает со свистом, из второго только 23750 записей (хотя если натравить прогу на второй файлик при пустой таблице - он залетает со свистом, а из следующего только 23750)

вопрос: что делать? подскажите пожалуйста, срочно законвертить надо...

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "MySQL лимит записей в таблице"  +/
Сообщение от DeadMustdie email(??) on 15-Фев-07, 17:07 
Хм... безумие, но вдруг: строки вообще в таблицу добавляются? То есть если заливать 10 строк, они в БД попадают? А то при использовании какого-нибудь INSERT DELAYED проверка на корректность формата может оказаться отложенной.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "MySQL лимит записей в таблице"  +/
Сообщение от wolfthegray (ok) on 15-Фев-07, 18:40 
>Хм... безумие, но вдруг: строки вообще в таблицу добавляются? То есть если
>заливать 10 строк, они в БД попадают? А то при использовании
>какого-нибудь INSERT DELAYED проверка на корректность формата может оказаться отложенной.

попадают
т.е. я создаю транзакцию, в ней несколько запросов на инсерт. после подтверждения транзакции записи в базе есть.
пытался делать одной большой транзакцией, несколькими чуть меньшими, бил вообще на транзакции для каждой 1000 строк.

количество добавляемых строк одно и то же - 123750.
после этого даже руками через "mysql -u root", записи не добавляются.

Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

3. "MySQL лимит записей в таблице"  +/
Сообщение от ACCA (ok) on 15-Фев-07, 22:23 
>есть mysql 5.0.27 (Win32), в нём база, в базе таблица с девятью
[...]
>"Incorrect datetime value: '2006/03/26 03:06:22.502000' for column 'CurrentTime' at row


Есть какое-то ворчание именно про win32 версию 5.0.27. Попробуй дёрнуться на другую версию/платформу.

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

4. "MySQL лимит записей в таблице"  +/
Сообщение от wolfthegray (ok) on 16-Фев-07, 13:23 
пробовал откат до версии 5,0,24 - то же самое

проблема решилась.
оччень странно себя mysql ведёт ;)

mysql не хочет добавлять НИОДНОЙ записи за 2006/03/26, если формат поля - timestamp. удаляешь все записи за этот день (несколько тысяч) из файлика - все последующие добавляются отлично.

сделал формат datetime, всё прошло "на ура".

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

5. "MySQL лимит записей в таблице"  +/
Сообщение от DeadMustdie email(??) on 16-Фев-07, 15:07 
>пробовал откат до версии 5,0,24 - то же самое
>
>проблема решилась.
>оччень странно себя mysql ведёт ;)
>
>mysql не хочет добавлять НИОДНОЙ записи за 2006/03/26, если формат поля -
>timestamp. удаляешь все записи за этот день (несколько тысяч) из файлика
>- все последующие добавляются отлично.
>
>сделал формат datetime, всё прошло "на ура".

Глюк, скорее всего, при обработке дат. Там случайно нет рядом перехода на летнее время?

Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

6. "MySQL лимит записей в таблице"  +/
Сообщение от passer on 25-Апр-11, 17:16 
>>mysql не хочет добавлять НИОДНОЙ записи за 2006/03/26,

с этим числом та же проблема)
2011-03-27 02:41:35

Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру