Forum Webscript.Ru

Общие => Базы данных => Тема начата: Greg от 11 Декабря 2004, 09:41:06

Название: Запуск SQL-запроса
Отправлено: Greg от 11 Декабря 2004, 09:41:06
Немогу запустить файл с кодом SQL-запроса
Команда выглядит так
> mysql -h host -u username dbname -p < filename.sql
Может кто знает: куда-то его (файл с кодом) пихать надо в особое место (лежит в http://localhost/...) или может что-то другое?
Заранее спасибо!
Название: Запуск SQL-запроса
Отправлено: Forza от 11 Декабря 2004, 10:15:04
Что-то я с утра не понимаю, причём тут вообще http://localhost/?
Если ты запускаешь терминал mysql просто из командной строки из того каталога, где mysql.exe находится, так ты и скопируй туда filename.sql (он ругается, что именно файл не найден?)
Название: Запуск SQL-запроса
Отправлено: Greg от 11 Декабря 2004, 10:23:21
Так он там лежит, где все .exe - файлы, а выдыет ошибку 1064 о неправильном синтаксисе.
Название: Запуск SQL-запроса
Отправлено: Forza от 11 Декабря 2004, 10:32:37
А причём тут тогда вот это?
Цитировать
Greg:
Может кто знает: куда-то его (файл с кодом) пихать надо в особое место (лежит в http://localhost/...) или может что-то другое?

От перемены места синтаксис не выпрямится. У тебя просто ошибка в запросе, значит. Если хочешь, покажи его тут.
Название: Запуск SQL-запроса
Отправлено: Greg от 11 Декабря 2004, 11:33:09
mysql> mysql -u root books -p < bookorama.sql;

А теперь подробнее
Это полностью вся строка. зашел по команде
C:\\mysql\\bin\\mysql -u root -p (Главное меню->Выполнить)
ввел пароль, потом
mysql> use books
Database changed
mysql> mysql -u root books -p < bookorama.sql;
ERROR 1064: You have an error in your SQL syntax near \'mysql -u root books -p <
bookorama.sql\' at line 1

Такой вот ответ получил, хост не указывал, т.к. на одной машине работает. Но пробовал и указывать - ничего не выходит, парюсь второй день
Название: Запуск SQL-запроса
Отправлено: Forza от 11 Декабря 2004, 11:43:25
Ага, вот что ты делаешь, оказываецца. :)

Ты пытаешься запустить из-под терминала SQL-файл такой командой, как он запускается из командной строки ОС. В терминале достаточно набрать \\. filename.sql
Цитировать
Greg:
парюсь второй день

Надо не париться, а хелпы читать:
C:\\mysql\\bin>mysql webdb
Welcome to the MySQL monitor.  Commands end with ; or \\g.
Your MySQL connection id is 7 to server version: 4.0.12-nt

Type \'help;\' or \'\\h\' for help. Type \'\\c\' to clear the buffer.

mysql> \\h

[...]

List of all MySQL commands:
   (Commands must appear first on line and end with \';\')
[...]
source  (\\.)    Execute a SQL script file. Takes a file name as an argument.
[...]

mysql>
Название: Запуск SQL-запроса
Отправлено: Greg от 11 Декабря 2004, 12:01:33
Запускаю mysql> \\.korama.sql; (без пробелов)
Выходит
ERROR:
Usage: \\. | source
Если с проблеом (м/у . и \'k\')
ERROR:
Failed to open file \'korama.sql;\', error: 2
Название: Запуск SQL-запроса
Отправлено: Forza от 11 Декабря 2004, 12:31:54
Я же тебе написал, что вызывать надо как \\. filename.sql, т.е. без всяких точек с запятой. Не знаю, почему в хелпе мускл пишет, что Commands must appear first on line and end with \';\', но всё-таки он тебе потом ясно ругается, что не может найти файл \'korama.sql;\', т.е. он ищет именно с точкой с запятой в названии.
Название: Запуск SQL-запроса
Отправлено: Greg от 11 Декабря 2004, 13:20:54
Спасибо огромное!!! Вы мне оЧЧень помогли, а тоя уже не знал куда и деваться-то!
Название: Запуск SQL-запроса
Отправлено: Forza от 11 Декабря 2004, 13:25:10
Давно бы сам всё решил, если бы читал, что тебе MySQL пишет. :)