 |
|

30.03.2009, 11:46
|
|
Участник форума
Регистрация: 09.08.2008
Сообщений: 139
С нами:
9344432
Репутация:
15
|
|
Эм.. с SQL сильно не знаком, но как можно хранить часть таблици в тексте, чтоб потом её залить в таблицу, при помощи COPY.
Т.е. мне нужно сделать примерно 300 вставок, и каждый раз писать INSERT как то не то.
|
|
|

30.03.2009, 12:15
|
|
Познавший АНТИЧАТ
Регистрация: 12.05.2007
Сообщений: 1,235
С нами:
9999746
Репутация:
1318
|
|
Glazz, во-первых, чтобы вставлять с файла тебе нужен будет файлприв, а давать файл прив на публичном веб-сервере - это гиблое дело. Не нужно так делать. Если это единчиная практика, то для этого давно изобрели:
Код:
LOAD DATA [LOW_PRIORITY | CONCURRENT] [LOCAL] INFILE 'file_name'
[REPLACE | IGNORE]
INTO TABLE tbl_name
[{FIELDS | COLUMNS}
[TERMINATED BY 'string']
[[OPTIONALLY] ENCLOSED BY 'char']
[ESCAPED BY 'char']
]
[LINES
[STARTING BY 'string']
[TERMINATED BY 'string']
]
[IGNORE number LINES]
[(col_name,...)]
LOAD DATA [LOW_PRIORITY | CONCURRENT] [LOCAL] INFILE 'file_name'
[REPLACE | IGNORE]
INTO TABLE tbl_name
[{FIELDS | COLUMNS}
[TERMINATED BY 'string']
[[OPTIONALLY] ENCLOSED BY 'char']
[ESCAPED BY 'char']
]
[LINES
[STARTING BY 'string']
[TERMINATED BY 'string']
]
[IGNORE number LINES]
[(col_name,...)]
О чём вообще речь идёт? О MySQL?
|
|
|

30.03.2009, 12:23
|
|
Участник форума
Регистрация: 09.08.2008
Сообщений: 139
С нами:
9344432
Репутация:
15
|
|
Сообщение от groundhog
Glazz, во-первых, чтобы вставлять с файла тебе нужен будет файлприв, а давать файл прив на публичном веб-сервере - это гиблое дело. Не нужно так делать. Если это единчиная практика, то для этого давно изобрели:
О чём вообще речь идёт? О MySQL?
MySQL. Т.е. записывать данные в таблицу из файла? хм... а что в качестве файла указывается? путь до файла ? А какой вил имеет этот фаил, чтоб его можно было составить самому.
|
|
|

30.03.2009, 12:43
|
|
Познавший АНТИЧАТ
Регистрация: 12.05.2007
Сообщений: 1,235
С нами:
9999746
Репутация:
1318
|
|
Ничего сложного... Например, есть такая таблица:
Код:
CREATE TABLE `some_table` (
`id` INT UNSIGNED NOT NULL AUTO_INCREMENT ,
`some_field1` VARCHAR( 255 ) NOT NULL ,
`some_field2` VARCHAR( 255 ) NOT NULL ,
PRIMARY KEY ( `id` )
)
и есть такой файл:
Код:
1,Test content 1.1,Test content 1.2
2,Test content 2.1,Test content 2.2
3,Test content 3.1,Test content 3.2
4,Test content 4.1,Test content 4.2
5,Test content 5.1,Test content 5.2
6,Test content 6.1,Test content 6.2
7,Test content 7.1,Test content 7.2
8,Test content 8.1,Test content 8.2
то в самом просто случае, запросом вида:
Код:
LOAD DATA INFILE 'С:\\Temp\\some_file.txt' INTO TABLE some_table
FIELDS TERMINATED BY ','
LINES TERMINATED BY '\n'
Можно провести вставку записей в таблицу из файла, где , (запятая) указывает символ которым разделены значения полей, а \n (перевод строки) указывает символ которым разделены строки.
|
|
|

30.03.2009, 13:13
|
|
Участник форума
Регистрация: 09.08.2008
Сообщений: 139
С нами:
9344432
Репутация:
15
|
|
Сообщение от groundhog
Ничего сложного... Например, есть такая таблица:
и есть такой файл:
Можно провести вставку записей в таблицу из файла, где , (запятая) указывает символ которым разделены значения полей, а \n (перевод строки) указывает символ которым разделены строки.
а если я хочу не из файла, а из переменной залить в бд? допустим я состряпаю char todb[4000] в котором допустим так же все написано.
|
|
|

30.03.2009, 13:24
|
|
Познавший АНТИЧАТ
Регистрация: 12.05.2007
Сообщений: 1,235
С нами:
9999746
Репутация:
1318
|
|
Ну запиши это в файл и вставляй... MySQL может вставлять данные из файловой системы, или данные, переданные непосредственно в запросе, ему по уху, что ты там себе за переменные придумал и что ты с ними собираешься делать. У MySQL все команды манипулирования данных чётко документированы. Ничего нового ты не найдёшь.
|
|
|

05.04.2009, 22:30
|
|
Постоянный
Регистрация: 07.03.2008
Сообщений: 479
С нами:
9567480
Репутация:
61
|
|
В чём ошибка?
INSERT INTO table SET (p_res1,p_res2,p_res3,p_res4) VALUES (1,2,3,4)
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '(p_res1,p_res2,p_res3,p_res4) VALUES (1,2,3,4)' at line 1
|
|
|

06.04.2009, 11:59
|
|
Динозавр
Регистрация: 10.01.2008
Сообщений: 2,841
С нами:
9649706
Репутация:
3338
|
|
INSERT INTO название_таблицы (p_res1,p_res2,p_res3,p_res4) VALUES (1,2,3,4) or die('Ошибка' . mysql_error());
|
|
|

09.04.2009, 22:18
|
|
Постоянный
Регистрация: 08.01.2006
Сообщений: 865
С нами:
10703786
Репутация:
343
|
|
чет я туплю , есть таблица users
id ... bonus
в бонус надо добавлять текст
INSERT INTO users ('bonus') VALUES ('".$values."') WHERE id = 'id'
понимаю что where там не кстати , как его составить правильно?
п/с не пинайте)
|
|
|

09.04.2009, 22:21
|
|
Участник форума
Регистрация: 01.02.2007
Сообщений: 286
С нами:
10143686
Репутация:
526
|
|
2 bxN5
UPDATE
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|