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.) - Jon_De - 25.03.2014

Quote:
Originally Posted by lost13
View Post
я хочу работать с несколькими таблицами, например таблица с игроками и таблица с ящиками в которых лежат вещи. С таблицей игроков как бы я се сделал все работает. А как получить данные из другой таблицы? Т.е. таблицы с ящиками
mysql_function_query(1, "SELECT * FROM `zones`", true, "OnZonesLoad", "");
mysql_function_query(1, "SELECT * FROM `moneys`", true, "OnMoneysLoad", "");

то что вернется из таблицы moneys будет обрабатываться в OnMoneysLoad


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

Quote:
Originally Posted by lost13
View Post
я хочу работать с несколькими таблицами, например таблица с игроками и таблица с ящиками в которых лежат вещи. С таблицей игроков как бы я се сделал все работает. А как получить данные из другой таблицы? Т.е. таблицы с ящиками
В пределах одного запроса ты можешь обратиться к любому количеству таблиц.


Re: MySQL (F.A.Q.) - lost13 - 26.03.2014

Quote:
Originally Posted by Stepashka
View Post
В пределах одного запроса ты можешь обратиться к любому количеству таблиц.
Ааа блин всё до меня доперло, спасибо мужики Во я тугодум. Я просто непонимал как работают cache, теперь дошло. Спасибо еще раз.


Re: MySQL (F.A.Q.) - lost13 - 26.03.2014

а параметр AUTO_INCREMENT он разве не может записывать свободное значение, вот у меня были порядковые номера, 1 - 10 я удалил 1 - 3 а он все равно продолжает с 11 и так далее, а значени 1 - 3 не записываются


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

Quote:
Originally Posted by lost13
View Post
а параметр AUTO_INCREMENT он разве не может записывать свободное значение, вот у меня были порядковые номера, 1 - 10 я удалил 1 - 3 а он все равно продолжает с 11 и так далее, а значени 1 - 3 не записываются
Это нормальное поведение, ни когда не пытайтесь этого менять!


Re: MySQL (F.A.Q.) - OKStyle - 26.03.2014

А лимит автоинкремента есть? Что будет при преодолении этого лимита? Про лимит спрашиваю, т.к. uCoz, например, добавляет новости на свой сайт каждый раз с увеличенным номером. Но лимит новостного номера 10000. Лимита пока не достигал, поэтому и возник вопрос. Буду ли даваться пропущенные номера? (например, создал 10 новостей, 3 из них удалил) или всё, хана?))


Re: MySQL (F.A.Q.) - lost13 - 26.03.2014

Quote:
Originally Posted by OKStyle
View Post
А лимит автоинкремента есть? Что будет при преодолении этого лимита? Про лимит спрашиваю, т.к. uCoz, например, добавляет новости на свой сайт каждый раз с увеличенным номером. Но лимит новостного номера 10000. Лимита пока не достигал, поэтому и возник вопрос. Буду ли даваться пропущенные номера? (например, создал 10 новостей, 3 из них удалил) или всё, хана?))
Вот и я про тоже


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

Quote:
Originally Posted by OKStyle
View Post
А лимит автоинкремента есть? Что будет при преодолении этого лимита? Про лимит спрашиваю, т.к. uCoz, например, добавляет новости на свой сайт каждый раз с увеличенным номером. Но лимит новостного номера 10000. Лимита пока не достигал, поэтому и возник вопрос. Буду ли даваться пропущенные номера? (например, создал 10 новостей, 3 из них удалил) или всё, хана?))
Использованные номера ни когда в жизни больше использоваться не будут. Если вы не будете транкейтить таблицу. Это нарушение логики корреляционных БД. Лимит ограничен лимитом поля на которое навешан ключ. Сейчас чаще всего это INT, лимит 2147483647, можете использовать BIGINT, тогда лимит будет 9223372036854775807, установка ключа UNSIGNED удвоит это значение +1.


Re: MySQL (F.A.Q.) - lost13 - 26.03.2014

Quote:
Originally Posted by Stepashka
View Post
Использованные номера ни когда в жизни больше использоваться не будут. Если вы не будете транкейтить таблицу. Это нарушение логики корреляционных БД. Лимит ограничен лимитом поля на которое навешан ключ. Сейчас чаще всего это INT, лимит 2147483647, можете использовать BIGINT, тогда лимит будет 9223372036854775807, установка ключа UNSIGNED удвоит это значение +1.
Странная хрень :P


Re: MySQL (F.A.Q.) - eakwarp - 26.03.2014

Quote:
Originally Posted by lost13
View Post
Странная хрень :P
Какая к хренам странная хрень? 32 бит - 2147483647, 64 бит - 9223372036854775807


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

Quote:
Originally Posted by eakwarp
View Post
Какая к хренам странная хрень? 32 бит - 2147483647, 64 бит - 9223372036854775807
они про неиспользуемые значения.


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

Может ли являться проблемой тот факт, что при создании таблицы и в последующем создании в ней строк, каждой строке без определенного значения присваивается 'NULL' - хотя сама строка является INT.
Соответственно при работe с базой плагином mysql появляется ошибка - invalid datatype.


Re: MySQL (F.A.Q.) - DartfoL - 30.03.2014

Надо ставить тип INT NOT NULL, например


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

Quote:
Originally Posted by Urukhay
View Post
Может ли являться проблемой тот факт, что при создании таблицы и в последующем создании в ней строк, каждой строке без определенного значения присваивается 'NULL' - хотя сама строка является INT.
Соответственно при работe с базой плагином mysql появляется ошибка - invalid datatype.
Если для ячейки указано что она NOT NULL запись в неё NULL будет интерпретироваться как 0.

А лучше покажите структуру таблицы и то что вы в неё пытаетесь записать.


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

Разобрался. Требовалось после INT ставить NOT NULL.

Теперь такой вопрос. Я ранее в курилке обращался по этому поводу. Что mysql log в кавычках не пишет место с ошибкой. Тобишь ничего нет. И я понял в чем проблема. Оказывается слишком длинный запрос был. Но мне нужно делать длинный запрос. Как быть? И может ли действительно быть проблема в длинном запросе?

Code:
#1064 - 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 '' at line 1



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

Quote:
Originally Posted by Urukhay
View Post
Разобрался. Требовалось после INT ставить NOT NULL.

Теперь такой вопрос. Я ранее в курилке обращался по этому поводу. Что mysql log в кавычках не пишет место с ошибкой. Тобишь ничего нет. И я понял в чем проблема. Оказывается слишком длинный запрос был. Но мне нужно делать длинный запрос. Как быть? И может ли действительно быть проблема в длинном запросе?

Code:
#1064 - 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 '' at line 1
Проблема в твоем мозге, тебе уже ответили что ты используешь слишком короткие строки.


Re: MySQL (F.A.Q.) - lost13 - 31.03.2014

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


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

Quote:
Originally Posted by lost13
View Post
Какое количество запросов можно в секунду отправить?
Зависит от того сколько времени нужно на отправку запроса, в идеале и при однопоточности 1000.


Re: MySQL (F.A.Q.) - Jon_De - 09.04.2014

Имеется 2 таблицы
users (id, name, password, carmodel)
cars (id, ownerid, carmodel)

в таблице users аккаунты и там же хранится тачка игрока, которую надо перенести в другую таблицу cars


можно это как то 1 запросом сделать?


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

Code:
INSERT INTO cars (ownerid, carmodel) SELECT uid, carmodel FROM users
количество вставляемых столбцов должно быть равно количеству получаемых столбцов. Типы или совпадают или такие что бы данные вмещались: INT можно вставить в BIGINT, наоборот нет.