SA-MP Forums Archive
MySQL (F.A.Q.) - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Русский/Russian (https://sampforum.blast.hk/forumdisplay.php?fid=32)
+---- Thread: MySQL (F.A.Q.) (/showthread.php?tid=489467)

Pages: 1 2 3 4 5 6 7 8 9


Re: MySQL (F.A.Q.) - Urukhay - 13.02.2014

Quote:
Originally Posted by Stepashka
Посмотреть сообщение
AI поля по умолчанию Primary Key.
И в который раз повторяю: НИ КОГДА НИ ПРИ КАКИХ ОБСТОЯТЕЛЬСТВАХ НЕ ТРОГАЙТЕ И НЕ ИЗМЕНЯЙТЕ AI ПОЛЯ!
В таком случае как поступать в данной ситуации? :
Я создаю 6 строк, номера по порядку. Удаляю 3 средние, не заняты номера 2,3,4. Создаю новую строку, он прикрепляет к ней номер 7. А мне надо использовать 2,3,4, на которые он уже не создает.


Re: MySQL (F.A.Q.) - Alexander_Petrov - 13.02.2014

Не используй AI


Re: MySQL (F.A.Q.) - Urukhay - 13.02.2014

Quote:
Originally Posted by Alexander_Petrov
Посмотреть сообщение
Не используй AI
То есть к нему не быстрей запрос идёт?


Re: MySQL (F.A.Q.) - Alexander_Petrov - 13.02.2014

используй Primary Key, не используй AI, а значение присваивай сам, какое нужно


Re: MySQL (F.A.Q.) - Stepashka - 13.02.2014

Quote:
Originally Posted by Urukhay
Посмотреть сообщение
То есть к нему не быстрей запрос идёт?
Вы используете MySQL ради 6 строк

Правильно хранить ключи базы в другой переменной и работать с ней.


Re: MySQL (F.A.Q.) - Urukhay - 13.02.2014

Вообщем получилось снова создать столбец с AI, удалив другой столбец (не AI) с первичным ключом и создав оба заново, присвоив столбцу без AI опять же первичный, а столбцу с AI уникальный.


Re: MySQL (F.A.Q.) - Urukhay - 15.02.2014

Что будет, если запрос, ссылающийся по ID к определенной таблице, не находит этот ID. Что вернется, если я в одном из столбцов этой таблицы получу данные, 0 вернёт?


Re: MySQL (F.A.Q.) - Stepashka - 15.02.2014

Quote:
Originally Posted by Urukhay
Посмотреть сообщение
Что будет, если запрос, ссылающийся по ID к определенной таблице, не находит этот ID. Что вернется, если я в одном из столбцов этой таблицы получу данные, 0 вернёт?
NULL


Re: MySQL (F.A.Q.) - Urukhay - 15.02.2014

Есть многотабличный SELECT запрос, связь с помощью INNER JOIN.
Как можно проверить, если ли в одной из запрашиваемых таблиц строка, с ID = 1 (Имя Test соответствует ID 1), и если есть, то запрашивать данные этой строки, а если нет - то не запрашивать.

Сам запрос:
Код:
SELECT * FROM t1 
INNER JOIN (t2,t3,t4) ON (t1.ID = t2.ID AND t1.ID = t3.ID AND t1.ID = t4.ID) WHERE t1.Name = 'Test'



Re: MySQL (F.A.Q.) - Stepashka - 15.02.2014

Quote:
Originally Posted by Urukhay
Посмотреть сообщение
Есть многотабличный SELECT запрос, связь с помощью INNER JOIN.
Как можно проверить, если ли в одной из запрашиваемых таблиц строка, с ID = 1 (Имя Test соответствует ID 1), и если есть, то запрашивать данные этой строки, а если нет - то не запрашивать.

Сам запрос:
Код:
SELECT * FROM t1 
INNER JOIN (t2,t3,t4) ON (t1.ID = t2.ID AND t1.ID = t3.ID AND t1.ID = t4.ID) WHERE t1.Name = 'Test'
INNER JOIN работает по принципу исключения, если условие (t1.ID = t2.ID AND t1.ID = t3.ID AND t1.ID = t4.ID) не выполнится, т.е. одно из значений будет отсутствовать в одной из таблиц, вся строка будет исключена из выборки.


Re: MySQL (F.A.Q.) - Urukhay - 15.02.2014

Quote:
Originally Posted by Stepashka
Посмотреть сообщение
INNER JOIN работает по принципу исключения, если условие (t1.ID = t2.ID AND t1.ID = t3.ID AND t1.ID = t4.ID) не выполнится, т.е. одно из значений будет отсутствовать в одной из таблиц, вся строка будет исключена из выборки.
Каламбур в том, что да, одна из таблиц пуста.. А остальные соответствуют условию. Но возвращает общий NULL.


Re: MySQL (F.A.Q.) - k3dr - 15.02.2014

Подскажите кодировку, которая поддерживает 'АбВгДеЙкА' и так же, русские символы.
Так же, как побороть '\' - запрос не отправляется ( mysql_format не помогает )


Re: MySQL (F.A.Q.) - Stepashka - 15.02.2014

Quote:
Originally Posted by Urukhay
Посмотреть сообщение
Каламбур в том, что да, одна из таблиц пуста.. А остальные соответствуют условию. Но возвращает общий NULL.
Я ещё раз повторю, правдой должно быть все прописанное условие!
Quote:
Originally Posted by k3dr
Посмотреть сообщение
Подскажите кодировку, которая поддерживает 'АбВгДеЙкА' и так же, русские символы.
Так же, как побороть '\' - запрос не отправляется ( mysql_format не помогает )
Если вы удосужитесь прочитать первый пост вы найдете там полную информацию про кодировку!
А что со слешем не так?


Re: MySQL (F.A.Q.) - k3dr - 15.02.2014

Quote:
Originally Posted by Stepashka
Посмотреть сообщение
Я ещё раз повторю, правдой должно быть все прописанное условие!
Если вы удосужитесь прочитать первый пост вы найдете там полную информацию про кодировку!
А что со слешем не так?
В запросе SELECT если использовать, он не выполняется

WHERE `Password` = '%s' , 123456\


Re: MySQL (F.A.Q.) - Stepashka - 15.02.2014

Quote:
Originally Posted by k3dr
Посмотреть сообщение
В запросе SELECT если использовать, он не выполняется

WHERE `Password` = '%s' , 123456\
всю строку с кодом можно.


Re: MySQL (F.A.Q.) - k3dr - 15.02.2014

Quote:
Originally Posted by Stepashka
Посмотреть сообщение
всю строку с кодом можно.
PHP код:
mysql_format(databasequery_mysqlsizeof(query_mysql),"SELECT * FROM `table_players` WHERE `Name` = '%s' AND `Password` = '%s'"pNameinputtext);
            
mysql_function_query(databasequery_mysqltrue"LAccount""d"playerid); 



Re: MySQL (F.A.Q.) - Alexander_Petrov - 16.02.2014

Как создать строку и вернуть ее поле AI одним запросом?


Re: MySQL (F.A.Q.) - Stepashka - 16.02.2014

Quote:
Originally Posted by Alexander_Petrov
Посмотреть сообщение
Как создать строку и вернуть ее поле AI одним запросом?
никак.


Re: MySQL (F.A.Q.) - Nazarik - 17.02.2014

Можна ли сделать проверку? тоесть чтобы запрос выполнялся если значения field не 0. (Запрос будет выполнятся через крон)

вот как сделать проверку ? (если конечно возможно)
update `table` set `field` = `field` - 1 where `id` != -1


Re: MySQL (F.A.Q.) - Nazarik - 17.02.2014

Гугл хорошая вещь
UPDATE `table` SET `field` = IF(`field`>0,`field`-1,0) WHERE `ID` != -1
Вообщем сам разобрался.