MySQL (F.A.Q.)
#41

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
Reply
#42

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Разобрался. Требовалось после 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
Reply
#56

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
Проблема в твоем мозге, тебе уже ответили что ты используешь слишком короткие строки.
Reply
#57

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

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

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

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


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

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


Forum Jump:


Users browsing this thread: 11 Guest(s)