Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Заполяение талицы из текстового файла / 6 сообщений из 6, страница 1 из 1
04.10.2004, 14:47
    #32722276
Хоттабыч
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Заполяение талицы из текстового файла
Я пытаюсь заполнить таблицу из текстового файла(LOAD DATA INFILE "tab1.txt" INTO TABLE tab1;). Один из стобцов таблицы является датой (тип DATA : гггг-мм-дд ). Я его в текстовом файле заполняю. например следующим образом:
2002-08-25
NULL
\N

При просмотре таблицы ( SELECT * FROM tab1;) соответствующий столбец выглядит:
----+--------------+---
| УВОЛЕН |
----+--------------+---
| 2002-08-25 |
| 0000-00-00 |
| 0000-00-00 |

хотя , как учат нас руководства по MySQL, должен иметь вид :

----+--------------+---
| УВОЛЕН |
----+--------------+---
| 2002-08-25 |
| NULL |
| NULL
Как нужно правильно либо заполнить текстовый файл, либо написать команду LOAD DATA .... ?
Из-за неправиьного заполнения я не могу выполнить команду SELECT ... WHERE УВОЛЕН="NULL";

WINDOWS XP, mysql-4.0.18-win
...
Рейтинг: 0 / 0
04.10.2004, 14:56
    #32722305
Хрен
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Заполяение талицы из текстового файла
where чегототам=NULL ? Так нельзя писать. Сравнение с NULL недопустимо. Можно только

where чегототам is null

Или это у вас строка такая? "NULL" Тогда тем более непонятно что должно получиться. И откуда там могут появиться строковые значения "NULL"


почему бы вам не делать where uvolen='0000-00-00' ?
...
Рейтинг: 0 / 0
04.10.2004, 15:37
    #32722419
Заполяение талицы из текстового файла
Попробуй указать lines terminated:

Код: plaintext
1.
2.
LOAD DATA LOCAL INFILE 'tab1.txt'
INTO TABLE tab1
LINES TERMINATED BY '\r\n';
...
Рейтинг: 0 / 0
05.10.2004, 02:15
    #32723098
max(id)
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Заполяение талицы из текстового файла
Ты часом не через ODBC работаешь? А то у него есть такая особенность: конвертить NULL в 'ноль', т.е. в твоем случае в '0000-00-00'.
...
Рейтинг: 0 / 0
06.10.2004, 12:39
    #32725666
Хоттабыч
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Заполяение талицы из текстового файла
Я немного разобрался, как нужно вносит данные в текстовый файл, чтобы ини были правильно перенесены в таблицу командой LOAD DATA INFILE "textdata.txt" INTO TABLE tab1;
1. Для выполнения этой команды необходимо, чтобы текстовый файл textdata.txt находился в каталоге базы dB1, которой принадлежит заполняемая таблица tab1 ( ....\mysql\data\db1\textdata.txt )
2. Вносим в файл первое данное и нажимем кнопку табуляции, второе данное -- кнопка табуляции и т. д. ( знаки табуляции и перевода каретки являются по умолчанию в приведенной выше форме команды LOAD... соответственно разделителями данных в записи и записей между собой ). На что нужно обратить внимание -- это последнее данное в записи нужно обязательно закрыть табуляцией , и только после этого сделать переход (ENTER) на новую строку (Я не знал, что нужно так делать, и из-зо чего возник мой вопрос). Тогда код \N, стоящий последним в записи, будет провильно преобразовываться в NULL ( а не в 0000-00-00). И вообще, если не закрыть последнее поле табуляцией перед переходом на новую строку, таблица будет заполняться неправильно.
3. У меня значение вписанное в текстовый файл значение \N вносится в таблицу как и положено --NULL. а вот если вписать в текстовый файл NULL ( что тоже разрешено мануалом), он вноситься не как NULL. Причину я не знаю.

Всем, кто откликнулся -- спасибо
...
Рейтинг: 0 / 0
06.10.2004, 17:03
    #32726534
Заполяение талицы из текстового файла
Здается мне, что Вы только запутались :)
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Заполяение талицы из текстового файла / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]