
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
04.10.2004, 14:47
|
|||
|---|---|---|---|
|
|||
Заполяение талицы из текстового файла |
|||
|
#18+
Я пытаюсь заполнить таблицу из текстового файла(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 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
04.10.2004, 14:56
|
|||
|---|---|---|---|
Заполяение талицы из текстового файла |
|||
|
#18+
where чегототам=NULL ? Так нельзя писать. Сравнение с NULL недопустимо. Можно только where чегототам is null Или это у вас строка такая? "NULL" Тогда тем более непонятно что должно получиться. И откуда там могут появиться строковые значения "NULL" почему бы вам не делать where uvolen='0000-00-00' ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
04.10.2004, 15:37
|
|||
|---|---|---|---|
|
|||
Заполяение талицы из текстового файла |
|||
|
#18+
Попробуй указать lines terminated: Код: plaintext 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
05.10.2004, 02:15
|
|||
|---|---|---|---|
|
|||
Заполяение талицы из текстового файла |
|||
|
#18+
Ты часом не через ODBC работаешь? А то у него есть такая особенность: конвертить NULL в 'ноль', т.е. в твоем случае в '0000-00-00'. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
06.10.2004, 12:39
|
|||
|---|---|---|---|
|
|||
Заполяение талицы из текстового файла |
|||
|
#18+
Я немного разобрался, как нужно вносит данные в текстовый файл, чтобы ини были правильно перенесены в таблицу командой 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. Причину я не знаю. Всем, кто откликнулся -- спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=47&tablet=1&tid=1854752]: |
0ms |
get settings: |
10ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
180ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
33ms |
get tp. blocked users: |
1ms |
| others: | 228ms |
| total: | 486ms |

| 0 / 0 |
