в таблицу mysql нужно добавлять записи, есть колонка u_id нужно при каждом добавлении добавлять уникальный u_id типа x3w9 к каждой записи u_id от 4 символов, a-Z 0-9 (по мере заполнения всех 4 символьных вариаций - переход к 5 символьным и т.д.) Подскажите как реализовать? я понимаю можно заранее генерировать и проверять существование, если существует - опять генерировать, далее опять проверять существование - но допустим когда почти все 4 символьные вариации начнут заканчиваться - то получается повторных проверок может быть тысячи и как избежать этого и как понять что закончились 4 символьные вариации и перейти к 5 символам? вообще что мне нужно - есть каталог на сайте, id идут по возрастанию - 1229 - 1230 - 1231 и т.д. мне нужно скрыть это возрастание и получить скрытые id типа x3w9 j29f 0use
Думаю можно заранее рассчитать количество возможных вариаций, если превысит то повышаем на 1 значение... Ну а насчет проверки думаю тут тебе ничего не поможет, скрипту по любому придется создать тысячи вариаций и проверить их сходство...
PHP: select posts.*, count(*) as count_pic from postsLEFT JOIN images ON posts.id = images.post_idgroup by posts.idlimit 1 , 100;/* Affected rows: 0 Найденные строки: 224 Предупреждения: 0 Длительность 1 query: 3,120 sec. */ Помогите плиз оптимизировать запрос. Нужно показать сколько есть картинок у каждого поста + все содержимое постов Лагает из за того, то группировка происходит по всем постам, а потом уже из них берутся первые 100. Как сначала взять первые 100 а потом уже по ним группировать?
Еще заметил такую штуку, если выполнять один и тот же запрос 2 раза, то на второй раз он выполняется за миллисекунду. /* Affected rows: 0 Найденные строки: 224 Предупреждения: 0 Длительность 1 query: 0,000 sec. */ Это как я понял индексы отрабатывают?
структуру таблиц показал был, а вообще так попробуй Code: select posts.*, (select count(*) from images where post_id=p.id) as count_pic from posts p limit 1 , 100; думаю из-за кэша
Есть две таблицы с данными: Tabl1: form_sub id|clientID|formID|form_fieldID| answer|subID --------+---- -+------+------------+---------+----- 16753755| 532| 2456| 46259| User852| 1183 16753757| 532| 2456| 46260| 749| 1183 16753759| 532| 2456| 46258|Ivanov I.I.| 1183 16753761| 532| 2456| 46257| Address| 1183 16753763| 532| 2456| 46256| Moscow| 1183 16753765| 532| 2456| 46255|[email protected]|1183 16753767| 532| 2456| 46254| 10.00| 1183 16753769| 532| 2456| 46252| Users| 1183 16753771| 532| 2456| 46251|+798271880| 1183 16753775| 532| 2456| 46262| Hello!| 1183 Tabl2: form_fields id| field_name|formID|clientID -----+---------------+------+------- 46251|User TelNumber| 2456|532 46252| User Type| 2456|532 46254| User Balance| 2456|532 46255| User E-Mail| 2456|532 46256| User Region| 2456|532 46257| User Address| 2456|532 46258| User FIO| 2456|532 46259| User Login| 2456|532 46260|User AccNumber| 2456|532 46262| User Comments| 2456|532 form_sub.form_fieldID = form_fields.id Как сформировать запрос, что получить строку вида: subID:1183|User Login:User852|User AccNumber:749|User Type:Users|User Balance:10.00|User TelNumber:+79827412880| и т.д.|
Подскажите пожалуйста,есть таблица 'product' id int(7) uid int(7) amout int(7) price double(10,4) id uid amout price 9 1 50006 10.2007 10 11 456 14.0406 11 4 10000 12.0000 12 12 4322 10.2007 13 1 30000 20.0000 сейчас они у меня выводятся так количество по цене 50006 10.2007 + 456 14.0406 10000 12.0000 4322 10.2007 + 30000 20.0000 как вывести так,чтобы количество суммировалось если цена одинакова количество по цене 54328 10.2007 456 14.0406 10000 12.0000 30000 20.0000 через group by пробовала,увы не получается
в mysql есть функция eval(), кто нибудь может показать пример запроса с этой функцией? В гугле нету совершено никакой информации, начиная с какой версии эта функция появилась, и как её вообще выполнять. Предполагаю, что как то так: select eval('select version()') или же просто eval('select version()') но ни то ни другое не работает. Кто в курсе, объясните, пожалуйста.
хочу добавить id для базы, её создавал без id как это можно сделать не удаляя её содержимое ? и что будет, когда есть Id, и удалить строки из бд ? каким образом id переформируются ?
Code: ALTER TABLE table_name ADD `id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY Если требуется восстановить порядок нумерации после удаления, можно сделать так Code: ALTER TABLE table_name DROP `id`; ALTER TABLE table_name AUTO_INCREMENT = 1; ALTER TABLE table_name ADD `id` int UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY FIRST;
Подскажите, есть запрос к БД $wallet=substr($db->getOne("SELECT wallet FROM `ss_users` WHERE id=?i",$deposits['userid']), 0, -3); мне надо добавить таблицу например ss_usersbot, делаю так $wallet=substr($db->getOne("SELECT wallet FROM `ss_users`, `ss_usersbot`WHERE id=?i",$deposits['userid']), 0, -3); Понимаю что не правильно, а как составить запрос что-бы работало?
http://www.w3schools.com/sql/sql_select.asp http://www.w3schools.com/sql/trysql.asp?filename=trysql_select_columns