Собираем вопросы авторам MySQL - они ответят на PHPConf 2008

  • Автор темы Автор темы MVV
  • Дата начала Дата начала

MVV

Новичок
Ребята обясните пожалуйста чайнику почему при удалении строки из базы данных строка удаляется и при выводе не отображается. А вот размер таблицы в базе не уменьшается. привожу кусочек

$idtemp=$_POST['id'];
$query="DELETE FROM temp WHERE temp.id_temp = '$id_temp'";
if (!mysql_query("$query")) echo mysql_error();

Может быть надо еще чегото удалять? Ключ primary key установлен в поле "id_temp".

И еще есть ли способ при выводе таблицы "html" с данными из базы "mysql" сортировать порядковые номера , а то у меня получается хаос следующий номер записывается в строку вместо удаленного допустим - 4;

1
2
3
53
5
6


Заранее благодарен подскажите хто нибудь!!!:confused:
 
название темы специально оставил от родительской

-~{}~ 23.09.09 11:34:

Может быть надо еще чего-то удалять?
нет, не надо

И еще есть ли способ при выводе таблицы "html" с данными из базы "mysql" сортировать порядковые номера
echo $i+1;
 
Ребята обясните пожалуйста чайнику почему при удалении строки из базы данных строка удаляется и при выводе не отображается. А вот размер таблицы в базе не уменьшается.
потому что субд просто помечает пространство в файле как свободное, и оно будет переиспользовано при вставке новых записей. Постоянно минимизировать размер файла бд нету смысла.
И еще есть ли способ при выводе таблицы "html" с данными из базы "mysql" сортировать порядковые номера , а то у меня получается хаос следующий номер записывается в строку вместо удаленного допустим - 4;
http://phpfaq.ru/base#id
 
Спасибо не ожидал на такой быстрый ответ, А если не минимизировать размер файла бд то какже быть с размером базы, после пару тисячей записей место на диске закончится, или я чтото не так понимаю?
 
Автор оригинала: *****
название темы специально оставил от родительской

-~{}~ 23.09.09 11:34:


нет, не надо


echo $i+1;
Извеняюсь на счёт названий, но я то еще и форумами нормально пользоватся не умею потому что чайник комп в глаза увидел два года назад Примите мои извенения если чего не так!!!!!
 
и еще.
для СОРТИРОВКИ выборки, надо указывать поле, по которому мы хотим ее упорядочить. оператором ORDER BY

Для НУМЕРАЦИИ при выводе используем РНР.
 
Хочу спросить как у специалистов при записи данных в таблицу есть способ не дублировать существующую запись и при этом чтоб номер ключа при выборке из нескольких таблиц сохранялся.
 
У меня в таблице "client" имеются поля

id_cit mediumint(5) default NULL,
id_addr mediumint(5) default NULL,

В которые записываются внешние ключи из таблиц "cit" и "addr " при очередной записи адреса в "addr" присваивается очередной ключ, скрипт выбирает последнюю запись в "addr " и записывает в "id_addr" таблицы "client"

А мне нужно воизбежание избытка записей в таблицах чтоб повторяющаяся запись игнорировалась при записи в "addr"

и к "id_addr" таблицы "client" записывался ключ уже существующей записи в "addr" .

Заранее извеняюсь если вопрос не корректный.
 
если я правильно понял, то таблица client вовсе не нужна
 
Нада подумать!!!!!!!

-~{}~ 23.09.09 12:54:

Нужна потому что там вносятся еще другие записи которые нужны для "вечного" хранения

log varchar(60) default NULL,
date varchar(16) NOT NULL,
fio varchar(60) default
 
значит, вся база спроектирована криво.
если у тебя связь один ко многим, то промежуточная таблица для этого не нужна
 
Связь один ко многим но разные клиенты живут по одному адресу

В случае изменения адреса легко будет поменять адрес в базе
 
сit - это город, что ли? блин, все клещами надо вытягивать, как на допросе.
ну так проверяй перед записью в адреса, если есть такой - бери его id , а не записывай новый. в чем проблема?
 
Спасибо большое пока писал сам дошол
извените за безпокойства еще раз СПАСИБО!!!!!!!!!1
 
Сверху