Как добавить инфу из файла в базу?

Vlad_c

Guest
Как добавить инфу из файла в базу?

Народ простите за такой глупый вопрос, просто не смог найти ничего подходящего может скините ссылочки.

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

Vlad_c

Guest
проблема вот в чем
саписи из файла добавляются но, первая запись у меня это ID который при добавлении автоматом выдает mysql, а придобавлении файлом приходится прописывать его руками и если вдруг он совпадает с уже существующим ID то запись недобавляется, как сделать чтобы при добавлении из файла ID заносилась также автоматом

запрос:

$query = ('LOAD DATA INFILE "C:/Internet/home/localhost/www/insert.txt" INTO TABLE addvacan FIELDS TERMINATED BY "," LINES TERMINATED BY "\r\n"');

Что исправить что добавить?
 

гоша

Guest
Прочитать текст по ссылке. Там всё это есть.
 

Vlad_c

Guest
трудно подписать что нехватает в запросе?
я там неразобрался
 

гоша

Guest
Ничем не могу помочь.
Хочешь стать программистом -- учись читать.
 

Three Daws

Guest
Если Вы хотите добавлять данные из файла так, чтобы MySQL автоматически присваивал новое, автоинкриминированное значение идентификатора, то нужно:

1. Исключить эти данные (идентификатор) из файла

2. В команде LOAD DATA INFILE перечислить поля, которые будут передаваться. Соответственно - не включать в перечисление автоинкриминтируемое поле.

LOAD DATA [LOW_PRIORITY | CONCURRENT] [LOCAL] INFILE 'file_name.txt'
[REPLACE | IGNORE]
INTO TABLE tbl_name
[FIELDS
[TERMINATED BY '\t']
[[OPTIONALLY] ENCLOSED BY '']
[ESCAPED BY '\\' ]
]
[LINES TERMINATED BY '\n']
[IGNORE number LINES]
[(col_name,...)]

Пример:
mysql> desc types;
+----------+---------------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+----------+---------------------+------+-----+---------+----------------+
| typeID | int(10) unsigned | | PRI | NULL | auto_increment |
| typeName | varchar(64) | | UNI | | |
+----------+---------------------+------+-----+---------+----------------+

mysql> LOAD DATA INFILE "bla-bla-bla/test.txt" into table types (typeName);

- Грузим из файла имена, поле typeID автоматически заполняется самим MySQLем

Кроме того, существует возможность:
а) Перезаписывать записи с совпадающими идентификаторами - клюевое слово REPLACE

б) игнорировать записи с совпадающими идентификаторами - ключевое слово IGNORE
 
Сверху