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(database, query_mysql, sizeof(query_mysql),"SELECT * FROM `table_players` WHERE `Name` = '%s' AND `Password` = '%s'", pName, inputtext);
mysql_function_query(database, query_mysql, true, "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
Вообщем сам разобрался.