| |
|
|
| | создал таблицу
CREATE TABLE `users` (
`id_user` int(11) NOT NULL PRIMARY KEY AUTO_INCREMENT,
`nick` varchar(255) NOT NULL default '',
`pass` varchar(255) NOT NULL default '',
`mail` varchar(255) default NULL,
`icq` int(11) default NULL,
`wap_url` varchar(255) default NULL,
`web_url` varchar(255) default NULL,
`about` varchar(255) default NULL,
`date` DATETIME NOT NULL default '0000-00-00 00:00',
UNIQUE INDEX `nick` (`nick`)
) ENGINE=MyISAM
|
получаю такую таблицу
mysql> describe users;
+-------------+------------------+-------+-------+------------------------------+------------------------+
| Field | Type | Null | Key | Default | Extra |
+-------------+------------------+-------+-------+------------------------------+------------------------+
| id_user | int(11) | NO | PRI | NULL | auto_increment |
| nick | varchar(255) | NO | MUL | | |
| pass | varchar(255) | NO | | | |
| mail | varchar(255) | YES | | NULL | |
| icq | int(11) | YES | | NULL | |
| wap_url | varchar(255) | YES | | NULL | |
| web_url | varchar(255) | YES | | NULL | |
| about | varchar(255) | YES | | NULL | |
| date | datetime | NO | | 0000-00-00 00:00:00 | |
+------------+------------------+-------+-------+------------------------------+------------------------+
9 rows in set (0.04 sec)
|
вот вопрос, почему у меня получается не уникальный ключ, а простой???
пытаюсь записать данные в таблицу
mysql> insert into users (id_user, nick, pass, about) values
-> (1, 'Krasnodar', '0000', '_serezhka_@mail.ru', 'Привет');
|
получаю такую ошибку
ERROR 1136 (21S01): Column count doesn't match value count at row 1
|
что я делаю не так????? | |
| |
|
|
| |
|
|
| |
для: Krasnodar
(03.01.2007 в 00:50)
| | | У вас в скобках после имени таблицы указано 4 столбца (id_user, nick, pass, about), а в скобках после ключевого слова values - 5 (1, 'Krasnodar', '0000', '_serezhka_@mail.ru', 'Привет'). | |
| |
|
|
| |
|
|
| |
для: cheops
(03.01.2007 в 00:59)
| | | Извиняюсь, опечатка, просто когда на форуме писал, вставлял данные из разных строк... Последне 'Привет' убираю и тоже самое... | |
| |
|
|
| |
|
|
| |
для: Krasnodar
(03.01.2007 в 01:08)
| | | Вопроса 2:
-почему ключ получается не уникальным;
-пишу 4 имени колонок и 4 значения которые надо записать в таблицу, всеравно такая же ошибка... | |
| |
|
|
| |
|
|
| |
для: Krasnodar
(03.01.2007 в 01:14)
| | | Хм... странно, а у вас какая версия СУБД? Только что развернул вашу таблицу, вставил запись - запись вставляется, когда используется лишь 4 значения и ключ получается уникальный, на повторную попытку вставить запись с ником 'Krasnodar' возвращает как и положено ошибку
Duplicate entry 'Krasnodar' for key 2
|
| |
| |
|
|
| |
|
|
| |
для: cheops
(03.01.2007 в 02:43)
| | | С записью разобрался, работает, а вот с ключем нет.... У меня стоит помоему 5.0.3 устанавливал с Вашего диска "Самоучитель MySQL 5" | |
| |
|
|
| |
|
|
| |
для: Krasnodar
(03.01.2007 в 02:54)
| | | У вас phpMyAdmin имеется? Посмотрите сколько столбцов проиндексировано уникальным ключём. Если 0 попробуйте восстановить индекс, выполнив оператор CHECK TABLE. | |
| |
|
|
| |
|
|
| |
для: cheops
(03.01.2007 в 13:05)
| | | phpMyAdmin есть, только он не настроен...
у меня в таблице есты ключ PRI и MUL, когда удаляю чер DROP INDEX mul ключ и добавлюю ADD UNIQUE получаю опять ключ mul | |
| |
|
|
| |
|
|
| |
для: Krasnodar
(03.01.2007 в 16:26)
| | | Не должно быть так, ключ должен помечаться флагом UNI, а не MUL. | |
| |
|
|
| |
|
|
| |
для: cheops
(03.01.2007 в 16:45)
| | | ну да... в книге тоже так написано, но результат противоположный....:))
да, подарили на новый год 2 ваши книги "Самоучитель MySQL5" и "MySQL5 в подленнике", посмотрел и понял что второй вполне достаточно..... Теперь думаю куда деть первую и купить про php... | |
| |
|
|