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

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:
 

Фанат

oncle terrible
Команда форума
название темы специально оставил от родительской

-~{}~ 23.09.09 11:34:

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

И еще есть ли способ при выводе таблицы "html" с данными из базы "mysql" сортировать порядковые номера
echo $i+1;
 

Wicked

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

MVV

Новичок
Спасибо не ожидал на такой быстрый ответ, А если не минимизировать размер файла бд то какже быть с размером базы, после пару тисячей записей место на диске закончится, или я чтото не так понимаю?
 

MVV

Новичок
Автор оригинала: *****
название темы специально оставил от родительской

-~{}~ 23.09.09 11:34:


нет, не надо


echo $i+1;
Извеняюсь на счёт названий, но я то еще и форумами нормально пользоватся не умею потому что чайник комп в глаза увидел два года назад Примите мои извенения если чего не так!!!!!
 

Фанат

oncle terrible
Команда форума
и еще.
для СОРТИРОВКИ выборки, надо указывать поле, по которому мы хотим ее упорядочить. оператором ORDER BY

Для НУМЕРАЦИИ при выводе используем РНР.
 

MVV

Новичок
Хочу спросить как у специалистов при записи данных в таблицу есть способ не дублировать существующую запись и при этом чтоб номер ключа при выборке из нескольких таблиц сохранялся.
 

MVV

Новичок
У меня в таблице "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" .

Заранее извеняюсь если вопрос не корректный.
 

Фанат

oncle terrible
Команда форума
если я правильно понял, то таблица client вовсе не нужна
 

MVV

Новичок
Нада подумать!!!!!!!

-~{}~ 23.09.09 12:54:

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

log varchar(60) default NULL,
date varchar(16) NOT NULL,
fio varchar(60) default
 

Фанат

oncle terrible
Команда форума
значит, вся база спроектирована криво.
если у тебя связь один ко многим, то промежуточная таблица для этого не нужна
 

MVV

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

В случае изменения адреса легко будет поменять адрес в базе
 

Фанат

oncle terrible
Команда форума
сit - это город, что ли? блин, все клещами надо вытягивать, как на допросе.
ну так проверяй перед записью в адреса, если есть такой - бери его id , а не записывай новый. в чем проблема?
 

MVV

Новичок
Спасибо большое пока писал сам дошол
извените за безпокойства еще раз СПАСИБО!!!!!!!!!1
 
Сверху