|
|
|
|
|
для: Глинтвейн
(29.09.2006 в 20:08)
| | Ключи следует извлекать отдельно из результирующей таблицы оператора
SHOW FULL COLUMNS FROM tbl;
|
в поле key, обычно их не резервируют, так как всегда можно восстановить вручную, а операторы SHOW не делают разницы между многостолбцовым и одностолбцовым ключами. | |
|
|
|
|
автор: Глинтвейн (29.09.2006 в 20:14) |
|
|
для: cheops
(29.09.2006 в 10:53)
| | Кстати, немного не в тему, но создавать ради это отдельный топик... Ковыряю еще одну бэкаперку, и наткнулся на запись:
$this->SET['pr_nam'] = isset($_POST['pr_cap']) ? $_POST['db_backup'] : '';
|
Что сие может означать? | |
|
|
|
|
автор: Глинтвейн (29.09.2006 в 20:08) |
|
|
для: cheops
(29.09.2006 в 10:53)
| | 1. Версия мускула: 4,1.
2. Что касается структур таблиц, то смотрим на примере форума minibb.
Вот что возвращает PMA
CREATE TABLE `tbl` (
`post_id` int(10) NOT NULL auto_increment,
`forum_id` int(10) NOT NULL default '1',
`topic_id` int(10) NOT NULL default '1',
`poster_id` int(10) NOT NULL default '0',
`poster_name` varchar(40) NOT NULL default 'Anonymous',
`post_text` text NOT NULL,
`post_time` datetime NOT NULL default '0000-00-00 00:00:00',
`poster_ip` varchar(15) NOT NULL default '',
`post_status` tinyint(1) NOT NULL default '0',
PRIMARY KEY (`post_id`),
KEY `post_id` (`post_id`),
KEY `forum_id` (`forum_id`),
KEY `topic_id` (`topic_id`),
KEY `poster_id` (`poster_id`),
KEY `poster_ip` (`poster_ip`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=155 ;
|
А вот что дает wallistworkbd
create table tbl (
post_id int(10) not null auto_increment,
forum_id int(10) not null ,
topic_id int(10) not null ,
poster_id int(10) not null ,
poster_name varchar(40) not null ,
post_text text not null ,
post_time datetime not null ,
poster_ip varchar(15) not null ,
post_status tinyint(1) not null ,
Primary key (post_id)
) type=myisam;
|
На этом примере, NULL’ы сходятся, но нет ключей на post_id, forum_id, topic_id, poster_id и poster_ip. Кроме того, не проставлены дефолтные значения и кодировки. | |
|
|
|
|
|
|
|
для: Глинтвейн
(28.09.2006 в 18:26)
| | 1) Вы с какой версие MySQL работаете?
2) Приведите дамп таблицы, если не сложнно? | |
|
|
|
|
автор: Глинтвейн (28.09.2006 в 22:56) |
|
|
для: cheops
(28.09.2006 в 22:47)
| | Ну как бы сказать... это был второй скрипт, который я ковырял. В нем не реализованы:
1. Сбор непримари ключей,
2. Сбор данных о дефолтной кодировке таблиц и полей.
3. Опять же, NULL'ы расходятся с PMA'вскими.
Поэтому и обратился. Может кто знает:) | |
|
|
|
|
|
автор: Глинтвейн (28.09.2006 в 18:26) |
|
| Пытаюсь написать бэкапер для мускульной БД. Для получения информации о полях таблицы пользуюсь командой SHOW FULL FIELDS. Однако, значение ['Null'], даже если и возвращается как YES, то не в тех полях, в каких NULL выводится, скажем, у того же самого PMA в бэкапере. Может кто-то уже писал такие вещи, и может посоветовать, как мне эти NULL’ы достать? | |
|
|
|
|