Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Не устанавливаются связи между таблицами в MySQL

Сообщения:  [1-8] 

 
 автор: Mefisto84   (27.03.2006 в 19:57)   письмо автору
 
   для: Trianon   (27.03.2006 в 17:54)
 

Спасибо за совет. Ладно, оставлю все как есть, пусть выдает номера дальше по порядку, в принципе, какая мне разница??? Все равно там цифр еще ооочень много. Да, честно сказать это первый форум на котором мне ответили на все вопросы, и ни разу не "послали". Просто преклоняюсь перед вами всеми! Всем огромное спасибо за помощь. Досвидания.

   
 
 автор: Trianon   (27.03.2006 в 17:54)   письмо автору
 
   для: Mefisto84   (27.03.2006 в 17:41)
 

С первичными ключами (а атрибут auto_increment применяется именно для организации первичных ключей) так не работают. Если Вы удалили запись, то создавая другую - Вы создаете именно другую запись. Попытка выдать ей уже применявшийся номер может привести к полной путанице, если в БД еще остались ссылки на этот номер.

Если же Вы - кровь из носу - хотите занимать именно старые номера, то не удаляйте запись, когда кончается необходимость держать её в таблице. Просто пометьте её (в каком-либо другом из полей, кроме первичного ключа) как неиспользуемую. Впоследствии вытянуть запись с такой пометкой и с минимальным первичным ключом - выполнить один простейший запрос. Хотя все равно непонятно, зачем. Эффективность БД после применения описанной методики, скорее всего, только снизится.

   
 
 автор: Mefisto84   (27.03.2006 в 17:41)   письмо автору
 
   для: cheops   (26.03.2006 в 20:24)
 

Да у меня связей раньше не было, так что я даже и не знал что их проставить нельзя. Но я уже разобрался как сделать базу без связей :-). Кстати купил одну из ваших книг(вашего проекта), очень кстати хорошая книженция, почитал там на счет MyIsam. Но вот одну штуку не нашел, или плохо искал? :-) Есть поле auto_increment как сделать так что бы если появилась свободная цифра он брал её, а не следующую. Короче говоря, есть записи, номера 1 2 3 4 и т.д., и вот номер 2 удалили, вставляешь новую запись в базу, а он не использует цифру 2, а берет 5. Можно ли как-нибудь делать что бы он брал 2?
Заранее благодарен.

   
 
 автор: kaoz   (26.03.2006 в 21:25)   письмо автору
 
   для: Mefisto84   (26.03.2006 в 20:14)
 

USE (название вашей базы данных ( без скобок ) )
SHOW TABLE STATUS;

появиться таблица и в столбце Engine будет написано что за тип у ваших таблиц.

NOTE: НЕЛЬЗЯ преобразовывать системные таблицы MySQL из формата MyISAM в формат InnoDB! Эта операция не поддерживается, и если попытаться ее осуществить, MySQL не перезапустится, пока не будут восстановлены старые системные таблицы из резервной копии, или пока не будут созданы новые таблицы при помощи скрипта mysql_install_db.

Очень странно, как это у вас раньше связи работали....
Хотя может я не про те связи думаю...

   
 
 автор: cheops   (26.03.2006 в 20:24)   письмо автору
 
   для: Mefisto84   (26.03.2006 в 19:07)
 

Эти таблицы нужны для некоторых особенностей phpMyAdmin - без них вполне можно работать, почти на всех хостингах они не разворачиваются.

   
 
 автор: Mefisto84   (26.03.2006 в 20:14)   письмо автору
 
   для: kaoz   (26.03.2006 в 19:20)
 

А можно поподробней? О чем вообще речь? Как узнать что у меня MyISAM или InnoDB?
И что теперь придется всю базу переделывать????? Кошмар!

   
 
 автор: kaoz   (26.03.2006 в 19:20)   письмо автору
 
   для: Mefisto84   (26.03.2006 в 19:07)
 

возможно дело в MyISAM, насколько я знаю в нем связи не поддерживаются вообще...
если вам нужны связи то нужно пользоваться InnoDB

   
 
 автор: Mefisto84   (26.03.2006 в 19:07)   письмо автору
 
 

Здравствуйте! У меня такая беда, захожу в phpMyadmin, а там внизу написано:

"Ошибка
Дополнительные возможности для работы со связанными таблицами недоступны. Для определения причины нажмите СЮДА. "

Нажимаю "СЮДА" и там следующая информация:

"PMA Database ... Не готово[ Документация ]
Основные возможности связей Недоступно "
Нажимаю документация и у меня открывается документация на следующем тексте:

"$cfg['Servers'][$i]['pmadb'] string
Starting with version 2.3.0 phpMyAdmin offers a lot of features to work with master / foreign - tables. To use those as well as the bookmark feature you will need to create a new db.

To use this functionality as superuser create a new database:
create a new database for phpmyadmin:
CREATE DATABASE phpmyadmin;
Note that "controluser" must have SELECT, INSERT and DELETE privileges on this database. Here is a query to set up those privileges (using "phpmyadmin" as the database name, and "pma" as the controluser):
GRANT SELECT,INSERT,DELETE ON phpmyadmin.* to 'pma'@localhost;
do not give any other user rights on this database.
enter the databasename in $cfg['Servers'][$i]['pmadb']

$cfg['Servers'][$i]['bookmarktable'] string
Since release 2.2.0 phpMyAdmin allows to bookmark queries. This can be useful for queries you often run.

To allow the usage of this functionality the superuser has to:
set up a PMA database as described above
within this database create a table following this scheme:
CREATE TABLE 'PMA_bookmark' (
id int(11) DEFAULT '0' NOT NULL auto_increment,
dbase varchar(255) NOT NULL,
user varchar(255) NOT NULL,
label varchar(255) NOT NULL,
query text NOT NULL,
PRIMARY KEY (id)
) TYPE=MyISAM COMMENT='Bookmarks';

enter the tablename in $cfg['Servers'][$i]['bookmarktable']
"
Что мне нужно сделать что бы связи проставлялись? База у меня уже создана, но до этого не нужны были связи, а сейчас понадобились, и тут на тебе, вот такая вот проблема!
Подскажите пожалуйста что делать?
Заранее благодарен.

   

Сообщения:  [1-8] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования