Гость
Форумы / MySQL [игнор отключен] [закрыт для гостей] / вопрос по синтаксису. (и еще чуть-чуть) / 10 сообщений из 10, страница 1 из 1
05.07.2003, 22:38
    #32200257
rapri
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вопрос по синтаксису. (и еще чуть-чуть)
пишу в PHP:\r
$query="\r
create table t1(a tinytext, b tinytext); \r
create table t2(a tinytext, b tinytext);\r
";\r
mysql_query($query);\r
echo mysql_error();\r
\r
получаю ответ:\r
You have an error in your SQL syntax near \'; \r
create table t2(a tinytext, b tinytext);\r
\' at line 2\r
\r
Я с SQL знаком меньше дня, на форуме видел многострочные запросы вроде этого.\r
В документации запросы пишут из командной строки.\r
В общем я не много растерялся, и хотел бы узнать, как обстоят дела с многострочностью.\r
\r
(еще чуть-чуть): говорят учить надо не по документации, а по учебнику. Не подскажете по какому? Может :) у кого был личный опыт?
...
Рейтинг: 0 / 0
06.07.2003, 02:03
    #32200267
fedd
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вопрос по синтаксису. (и еще чуть-чуть)
много запросов делают в консоли.
а в mysql_query($query) делают 1 запрос за раз.
сделай

Код: plaintext
1.
2.
3.
4.
5.
6.
$query= "create table t1(a tinytext, b tinytext)" ; 
mysql_query($query); 
echo mysql_error(); 

$query= "create table t2(a tinytext, b tinytext)" ; 
mysql_query($query); 
echo mysql_error(); 


может, поможет.
И, как говорится в доке, The query string should not end with a semicolon, что в переводе означает - не надыть точку с запятухой мне сувать.

И, наконец, не уверен, можно ли делать так create table . Обычно все делают select, update, delete, insert. Напиши, если получится.
...
Рейтинг: 0 / 0
06.07.2003, 14:49
    #32200311
rapri
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вопрос по синтаксису. (и еще чуть-чуть)
Так работает.
И с точкой запятой в конце тоже работает, ("не должна кончаться", но не "не может").

create table так работает. А почему не должно? :)
Просто у меня все скрипы тестовые, направленные на понимание, что и как работает, значит и таблицы тестовые.
В конце скрипта я все таблицы дропаю. Но даже если не дропаю, то после create table mysql_error() молчит.

Понятия не имею как работает update, insert и delete при создании таблиц, по этому спрашивал совета по книге.
...
Рейтинг: 0 / 0
06.07.2003, 16:45
    #32200321
Макс М.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вопрос по синтаксису. (и еще чуть-чуть)
AFAIK через mysql_query() можно делать все запросы что и через консоль, если у тебя на них права есть.
Что касается книги - скачай какой-нибудь справочник по SQL (просто стандарт SQL неориентированнфй на определенную СУБД) и разберись с ним (там должно быть описано как делать SELECT, INSERT, DELETE, UPDATE). А потом уже можно и русскоязычный ман по MySQL
...
Рейтинг: 0 / 0
06.07.2003, 21:43
    #32200361
rapri
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вопрос по синтаксису. (и еще чуть-чуть)
AFAIK - ?\r
> скачай какой-нибудь справочник по SQL (просто стандарт SQL...\r
Я где-то на форуме читал, что синтаксис в разных СУБД разный, значит и MySQL от SQL отличается.\r
Или ты предлогаешь понять как вообще SELECT, INSERT и т.п. работают, а уже затем понять их реализацию в MySQL?\r
Коли так - дельно, спасибо.
...
Рейтинг: 0 / 0
07.07.2003, 02:51
    #32200378
Хрен
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вопрос по синтаксису. (и еще чуть-чуть)
mysql не поддерживает много запросов в одном. Так что через точку с запятой их передавать нельзя. Каждый запрос нужно посылать отдельно.

В консольном клиенте mysql можно послать кучу запросов через ; за один раз, но он (консольный клиент) в таком случае сам их делит по точке с запятой на отдельные запросы и на сервер передает по одному.
...
Рейтинг: 0 / 0
07.07.2003, 04:32
    #32200382
rapri
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вопрос по синтаксису. (и еще чуть-чуть)
Спасибо, Xрен, ты очень добр.
...
Рейтинг: 0 / 0
07.07.2003, 13:23
    #32200832
Макс М.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вопрос по синтаксису. (и еще чуть-чуть)
> AFAIK - ?
As Far As I Know - насколько я знаю


По поводу SQL и MySQL - есть стандарт SQL который все (ну или почти все СУБД) поддерживают в той или иной степени. Поэтому простые запросы (SELECT, INSERT, UPDATE во многих субд одинаковы или очень похожи).
В любом случае (ИМХО) стоит сначало ознакомиться со стнадартом а потом уже разбираться с реализацией SQL под ту или иную СУБД
...
Рейтинг: 0 / 0
07.07.2003, 13:39
    #32200861
fedd
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вопрос по синтаксису. (и еще чуть-чуть)
Я бы почитал доку по MySQL на английском (не знаю, на русском не читал, может, сейчас есть нормальный перевод).

По моему, это один их лучших учебников по SQL вобще, дает хорошее понимание зачем нужны индексы и как делать join и т.д.

А дальше - уже все другие SQL будут как крутые улучшения и расширения... SQL в моське - достаточно стандартный, а где отличается от стандарта, в доке сказано, и сказано чем.

имхо
...
Рейтинг: 0 / 0
07.07.2003, 18:07
    #32201281
rapri
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вопрос по синтаксису. (и еще чуть-чуть)
Спасибо всем за ценные советы.
Макс М. , спасибо за полезное сокращение :)

Теперь можно начинать вникать.
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / вопрос по синтаксису. (и еще чуть-чуть) / 10 сообщений из 10, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]