Вообще это неоднозначный вопрос. Например бэкапить базу каждый день\два\неделю (нужное подчеркнуть, смотря какая интенсивность заполнения и тп) - и после бэкапа с чистой совестью чистить журнал, т.к. бэкап у нас есть, и мы в случае чего сможем с чистой совестью его "накатить".
Разросшийся журнал транзакций можно урезать. Сначала сделать в Query Analyzer Code: BACKUP LOG dbname WITH NO_LOG BACKUP LOG dbname WITH TRUNCATE_ONLY Потом сделать Shrink Database, где в списке выбрать не базу (dbname_Data), а журнал транзакций (dbname_Log)
Здрасте... .Решил написать да/Вроде тема отсюда ) Как вот это можно реализовать >PHP<+MySQL 3. Управление распределённой БД Макс. балл: 120. Макс бонус балл: 54. Задание: 1. Имеется распределенная БД, состоящая из 3 серверов MySQL. 2. Требуется написать клиент к данной БД, реализующий функции SELECT / INSERT / DELETE / UPDATE / ALTER / CHANGE. 3. Пользователь, используя, данный клиент, не должен знать о том, что БД – распределённая. Связь серверов осуществляется посредством сокетов. <pre>Олмпиада по интернет-программированию 2006г</pre>
с википедии содрал? тэги тоже? )) а как пользователь узнает (пользуясь скрипт-клиентом) к какой БД он коннектиться?
Т.к. здесь вопросы по бд, тут и задам. У меня есть 3 таблицы, во всех трех есть id пользователя, но в одной базе(я её сам создавал) - нету id, поле есть, но как данные перенести туда я не знаю, т.к. в этой 3 таблице есть поля в которые нужно скопировать данные из 1 и 2 таблицы. Желательно сделать привязку 3 таблицы к 1 и 2, я что-то читал про cascade, но ведь 3 таблица пустая... Пытался в доках найти, но на Mysql.ru что-то ничего нужно не вычитал( у меня phpmyadmin стоит, если кто может - объясните как через него сделать.
stomp, если я правильно понял, то так. Предположим, в таблице t1 хранятся имена, в таблице t2 - адреса соответствующие именам адреса. В таблицу t3 надо запихать ид пользователя, его имя и адрес (объединенные данные из первых двух таблиц) Code: mysql> select * from t1; +------+-------+ | id | name | +------+-------+ | 1 | John | | 2 | Mary | | 3 | Suzen | | 4 | James | | 5 | Carry | +------+-------+ 5 rows in set (0.01 sec) mysql> select * from t2; +------+------------+ | id | address | +------+------------+ | 1 | Washington | | 2 | New York | | 3 | Washington | | 4 | Oklahoma | | 5 | Texas | +------+------------+ 5 rows in set (0.01 sec) mysql> insert into t3 select t1.id, t1.name, t2.address from t1 left join t2 using (id); Query OK, 5 rows affected (0.00 sec) Records: 5 Duplicates: 0 Warnings: 0 mysql> select * from t3; +------+-------+------------+ | id | name | address | +------+-------+------------+ | 1 | John | Washington | | 2 | Mary | New York | | 3 | Suzen | Washington | | 4 | James | Oklahoma | | 5 | Carry | Texas | +------+-------+------------+ 5 rows in set (0.00 sec)
Да спасибо, частично понял, как понять: left join t2 using (id); ?? И что сделать, чтобы при добавлении данных в таблицы 1 и 2 - они сразу же добавлялись к 3? использовать cascade?
что сделать, чтобы при добавлении данных в таблицы 1 и 2 - они сразу же добавлялись к 3? использовать cascade? Вообщем после набора insert.... и т.д. мне выдало: ERROR 1136 (21S01): Column count doesn't match value count at row 1 Все поля в 3 таблице null не понимаю в чем может быть проблема?
PHP: { $dt=date('Y-m-d H:i:s'); mysql_query('INSERT INTO messages VALUES(NULL,'.$_SESSION['id'].','.$lg['id'].',"'.$_POST['subject'].'","'.$_POST['msg'].'","'.$dt.'",0);'); } народ , подскажите почему не записывается инфа в БД? что не так написано?
Корвин, попробуй заюзать так PHP: { $dt=date('Y-m-d H:i:s'); $subject = mysql_real_escape_string ($_POST['subject']); $msg = mysql_query_escape_string ($_POST['msg']); mysql_query('INSERT INTO messages VALUES (NULL, \'' . $_SESSION['id'] . '\',\'' . $lg['id'] . '\',\'' . $subject . '\',\'' . $msg . '\',\'' . $dt . '\',0)') or die (mysql_errno() . ':' . mysql_error()); }
попробовал код, выводит ошибку Fatal error: Call to undefined function mysql_query_escape_string() ... сделал так : PHP: { $dt=date('Y-m-d H:i:s'); $subject = $_POST['subject']; $msg = $_POST['msg']; mysql_query('INSERT INTO messages VALUES (NULL, \'' . $_SESSION['id'] . '\',\'' . $lg['id'] . '\',\'' . $subject . '\',\'' . $msg . '\',\'' . $dt . '\',0)') or die (mysql_errno() . ':' . mysql_error()); } все заработало
Я там с кодом ступил =)) PHP: $msg = mysql_real_escape_string ($_POST['msg']); Сорри ЗЫ. Корвин, дай линк на свой движок, я в скулях потренируюсь =))
всмысле доступ к фтп? сорь, мне за это голову открутят=) конфиденциально PS и зачем этот реал ескейп? если как йа сделал все заработало...
PHP: $ayd = $_POST['id']; $ayduser = $_POST['id_user']; $taskname = $_POST['name']; $taskstatus = $_POST['status']; $taskpriority = $_POST['priority']; $taskcomments = $_POST['comments']; $tasktask = $_POST['task']; mysql_query('UPDATE `tasks` SET `id_user`="'.$ayduser.'", `name`="'.$taskname.'", `status`="'.$taskstatus.'", `priority`="'.$taskpriority.'", `comments`="'.$taskcomments.'", `task`="'.$tasktask.'" WHERE `id`="'.$ayd.'" LIMIT 1;'); Header('Location:index.php'); поидее должна обновлятся инфа в елементе с айдишником - $ayd, но у меня почему то создается еще один в котором первые три параметра равны нулю а остальные из формы которую заполнял, что не так подскажите плиз...