|
|
|
|
|
для: Trianon
(27.03.2006 в 17:54)
| | Спасибо за совет. Ладно, оставлю все как есть, пусть выдает номера дальше по порядку, в принципе, какая мне разница??? Все равно там цифр еще ооочень много. Да, честно сказать это первый форум на котором мне ответили на все вопросы, и ни разу не "послали". Просто преклоняюсь перед вами всеми! Всем огромное спасибо за помощь. Досвидания. | |
|
|
|
|
|
|
|
для: Mefisto84
(27.03.2006 в 17:41)
| | С первичными ключами (а атрибут auto_increment применяется именно для организации первичных ключей) так не работают. Если Вы удалили запись, то создавая другую - Вы создаете именно другую запись. Попытка выдать ей уже применявшийся номер может привести к полной путанице, если в БД еще остались ссылки на этот номер.
Если же Вы - кровь из носу - хотите занимать именно старые номера, то не удаляйте запись, когда кончается необходимость держать её в таблице. Просто пометьте её (в каком-либо другом из полей, кроме первичного ключа) как неиспользуемую. Впоследствии вытянуть запись с такой пометкой и с минимальным первичным ключом - выполнить один простейший запрос. Хотя все равно непонятно, зачем. Эффективность БД после применения описанной методики, скорее всего, только снизится. | |
|
|
|
|
|
|
|
для: cheops
(26.03.2006 в 20:24)
| | Да у меня связей раньше не было, так что я даже и не знал что их проставить нельзя. Но я уже разобрался как сделать базу без связей :-). Кстати купил одну из ваших книг(вашего проекта), очень кстати хорошая книженция, почитал там на счет MyIsam. Но вот одну штуку не нашел, или плохо искал? :-) Есть поле auto_increment как сделать так что бы если появилась свободная цифра он брал её, а не следующую. Короче говоря, есть записи, номера 1 2 3 4 и т.д., и вот номер 2 удалили, вставляешь новую запись в базу, а он не использует цифру 2, а берет 5. Можно ли как-нибудь делать что бы он брал 2?
Заранее благодарен. | |
|
|
|
|
|
|
|
для: Mefisto84
(26.03.2006 в 20:14)
| | USE (название вашей базы данных ( без скобок ) )
SHOW TABLE STATUS;
появиться таблица и в столбце Engine будет написано что за тип у ваших таблиц.
NOTE: НЕЛЬЗЯ преобразовывать системные таблицы MySQL из формата MyISAM в формат InnoDB! Эта операция не поддерживается, и если попытаться ее осуществить, MySQL не перезапустится, пока не будут восстановлены старые системные таблицы из резервной копии, или пока не будут созданы новые таблицы при помощи скрипта mysql_install_db.
Очень странно, как это у вас раньше связи работали....
Хотя может я не про те связи думаю... | |
|
|
|
|
|
|
|
для: Mefisto84
(26.03.2006 в 19:07)
| | Эти таблицы нужны для некоторых особенностей phpMyAdmin - без них вполне можно работать, почти на всех хостингах они не разворачиваются. | |
|
|
|
|
|
|
|
для: kaoz
(26.03.2006 в 19:20)
| | А можно поподробней? О чем вообще речь? Как узнать что у меня MyISAM или InnoDB?
И что теперь придется всю базу переделывать????? Кошмар! | |
|
|
|
|
|
|
|
для: Mefisto84
(26.03.2006 в 19:07)
| | возможно дело в MyISAM, насколько я знаю в нем связи не поддерживаются вообще...
если вам нужны связи то нужно пользоваться InnoDB | |
|
|
|
|
|
|
| Здравствуйте! У меня такая беда, захожу в 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']
"
Что мне нужно сделать что бы связи проставлялись? База у меня уже создана, но до этого не нужны были связи, а сейчас понадобились, и тут на тебе, вот такая вот проблема!
Подскажите пожалуйста что делать?
Заранее благодарен. | |
|
|
|
|