$base_name="base.spacenet.ru:4041"; $base_user="w_ftown"; $base_pass="vz4rkuBJ3p"; $db_name="w-ftown"; $db_name - это имя базы данных юзер,пасс- понятно. а что тогда $base_name ??
Нужно удалить записи из 5 таблиц одним запросом. Делаю вот так: Code: DELETE FROM t1, t2, t3, t4, t5 USING table1 AS t1 LEFT JOIN table2 AS t2 ON t1.inst_id=t2.inst_id LEFT JOIN table3 AS t3 ON t2.inst_id=t3.inst_id LEFT JOIN table4 AS t4 ON t3.inst_id=t4.inst_id LEFT JOIN table5 AS t5 ON t4.inst_id=t5.inst_id WHERE t1.inst_id = 2 Запрос выполняется без ошибок, но удаление происходит только из table1. Что не так? Заранее спасибо!
Code: DELETE t1, t2 FROM t1 INNER JOIN t2 INNER JOIN t3 WHERE t1.id=t2.id AND t2.id=t3.id; Or: DELETE FROM t1, t2 USING t1 INNER JOIN t2 INNER JOIN t3 WHERE t1.id=t2.id AND t2.id=t3.id; http://dev.mysql.com/doc/refman/5.0/en/delete.html
не уверен, что пишу туда, но всё же. скрипт считает посещения: (соединение и выбор базы уже выполнены раньше): Code: $query = "UPDATE info SET visits=visits + 1, lastvisit=CURDATE(), lastvisit_time=CURTIME() WHERE id='$id'"; mysql_query($query) OR DIE ("MySQL query failed: ".mysql_error()); mysql_close($sql); дело в том, что при обновлении страницы значение 'visits' увеличивается то на 1, то на 2 (не поочерёдно, а радномно, по крайней мере я не заметил закономерности). если в даной части скрипта всё верно, буду искть баг где-то ещё... АПД: так, закономерность есть: значение увеличивается на 1, через 3-4 секунды ещё на 1, на этом всё. этот запрос в скрипте только один раз, точно
ответ: кто-то нажал два раза F5. Мог бы и сам догадаться. Ибо не в коде, не ты не озвучил - есть ли проверка на повторный заход, а если есть - то через какой промежуток времени. PS: Ну сам нажми 5 раз F5 на той страничке, где такой код и потом посмотри свою статистику в БД
да нет, дело в том, что эта страничка на локальном веб-сервере, и никто, кроме меня не заходил туда. а я нажимаю ф5 один раз, поверь вынес этот запрос в один пхп скрипт - пашет нормально...в чём может быть проблема?
Есть две таблицы в первой столбец: Code: id 1 2 3 4 во второй есть столбец который содержит количество id из первой таблицы: Code: id_p 1 1 2 2 2 3 возможно ли както отсортировать столбец id из первой таблицы по количеству из второй id_p т.е. чтобы было в такой последовательности 2, 1, 3, 4
Code: SELECT z1.* FROM table1 z1 LEFT JOIN ( SELECT id_p, COUNT(*) AS cnt FROM table2 GROUP BY id_p ) z2 ON z1.id = z2.id_p ORDER BY z2.cnt DESC;
Спасибо работает, а можно еще третью таблицу добавить в запрос? вот такого вида: Code: id_r good bad 1 14 8 2 25 12 3 13 6 4 12 15 чтобы по id из первой таблицы выбирались данные столбцов good и bad (id_r соответствует id из табл1), ну и чтобы также все сортировалось по количеству id_p из второй таблицы
Тогда так Code: SELECT z1.id, IF(ISNULL(z2.cnt), 0, z2.cnt) AS count, z3.good, z3.bad FROM table1 z1 LEFT JOIN ( SELECT id_p, COUNT(*) AS cnt FROM table2 GROUP BY id_p ) z2 ON z1.id = z2.id_p LEFT JOIN table3 z3 ON z1.id = z3.id_r ORDER BY z2.cnt DESC; Вывод Code: +------+-------+------+------+ | id | count | good | bad | +------+-------+------+------+ | 2 | 3 | 25 | 12 | | 1 | 2 | 14 | 8 | | 3 | 1 | 13 | 6 | | 4 | 0 | 12 | 15 | +------+-------+------+------+