Помощник
|
load data |
kilogram
|
Сообщение
#1
|
||
|
|
||
|
|||
kilogram
|
Сообщение
#2
|
|
Сохранил ЮТФ-8 без БОМ, сработало вроде.
Попробывал написать в файле 1.txt: 38,Василий,Дятлов,91 39,Пол,Андерсон,91 Вот моя таблица: ------------------------------------------------------------ | cat | CREATE TABLE `cat` ( `number` int(11) NOT NULL AUTO_INCREMENT, `name1` varchar(20) DEFAULT NULL, `surname` char(12) DEFAULT NULL, `age` int(11) DEFAULT NULL, PRIMARY KEY (`number`), UNIQUE KEY `name1` (`name1`,`surname`,`age`) ) ENGINE=MyISAM AUTO_INCREMENT=41 DEFAULT CHARSET=utf8 | Ведь здесь стоит уникальный ключ на каждое поле чтобы не повторялось. Почему вставились 2 записи, ведь в последнем поле age 2 раза повторяется 91? Почему уникальный ключ не сработал?* |
|
|
kilogram
|
Сообщение
#3
|
|
Создал для теста таблицу dog:
| dog | CREATE TABLE `dog` ( `id` int(3) NOT NULL AUTO_INCREMENT, `name` varchar(15) DEFAULT NULL, `age` int(3) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM AUTO_INCREMENT=3 DEFAULT CHARSET=utf8 | Как вставлять записи из файла в базу данных в которой содержится первичный ключ с автоинкрементом, так чтобы не писать над каждой записью в файле - номер вставляемой записи, а так чтобы в таблице этот номер вставлялся сам? 1 Василий 91 2 Андерсон 18 Вот так работает, но приходится в файле нумеровать каждую вставляемую запись: 1, 2, 3, 4.... load data infile '1.txt' into table dog fields terminated by ' ';
|
|
|
kilogram
|
Сообщение
#4
|
|
Один нюанс заметил. При вставке в базу после этой строки, добавляются пробелы из-за terminated by ' ' , но парадокс, без неё не вставляется, а с ней вставляются пробелы. Как вставлять без пробелов?
load data infile '1.txt' into table dog fields terminated by ' ' (name,age)
|
|
|
kilogram
|
Сообщение
#5
|
|
Вот мой файл 1.txt
[img]http://s2.ipicture.ru/uploads/20120707/BNs7pC5u.jpg[/img] Проблемма что добавляются в базу данных пробелы, а мне нужно их убрать. Как написать так чтобы не добавлялись пробелы? Если написать так запрос: load data infile '1.txt' into table dog (name, age); получится ошибка: [img]http://s1.ipicture.ru/uploads/20120707/KFr6TLI7.jpg[/img] А если написать так: load data infile '1.txt' into table dog fields terminated by ' '(name,age); добавляет с пробелом, фото ниже. [IMG]http://s2.ipicture.ru/uploads/20120707/ai2r1p0b.jpg[/IMG] Как написать чтобы не добавляло пробелы в базу? |
|
|
Arks |
7.7.2012, 16:39;
Ответить: Arks
Сообщение
#6
|
|
|
1. переконвертить файл в требуемый формат.( оптимально с любой точки зрения)
2. очень сомнительно - параметрах(я таких не встречал лично но вдруг они есть) - возможно не в параметрах load data а в каких-то сессионных переменных подключения. Я не имею в виду никакой REPLACE к огромному куску текста и вам не советую!
|
|
|
||
|
Похожие темы
Тема | Ответов | Автор | Просмотров | Последний ответ | |
---|---|---|---|---|---|
Recovery Master - супердоходная легальная ниша data recovery | 4 | Recovery_Master | 3201 | 18.4.2017, 10:58 автор: Recovery_Master |
|
Recovery Master - супердоходная легальная ниша data recovery | 1 | Recovery_Master | 1947 | 15.2.2017, 17:51 автор: -Recovery Master- |
|
[Продам] Инсталлы,Загрузки,load,download | 1 | Farik.lampa | 3741 | 19.6.2015, 17:22 автор: -biznesvigoda- |
|
Скрипт Load more не работает (НУЖНА ПОМОЩЬ) | 0 | infoniki | 5152 | 14.5.2015, 10:37 автор: -infoniki- |
|
Продажа Загрузок,Install,load | 1 | Online.DDos | 5258 | 3.5.2015, 15:40 автор: -Елена88- |
Текстовая версия | Сейчас: 23.4.2024, 13:25 |