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

Форум MySQL

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

 

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

вид форума:
Линейный форум Структурный форум

тема: Column count doesn't match value count at row 1
 
 автор: Krasnodar   (03.01.2007 в 00:50)   письмо автору
 
 

создал таблицу

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

что я делаю не так?????

   
 
 автор: cheops   (03.01.2007 в 00:59)   письмо автору
 
   для: Krasnodar   (03.01.2007 в 00:50)
 

У вас в скобках после имени таблицы указано 4 столбца (id_user, nick, pass, about), а в скобках после ключевого слова values - 5 (1, 'Krasnodar', '0000', '_serezhka_@mail.ru', 'Привет').

   
 
 автор: Krasnodar   (03.01.2007 в 01:08)   письмо автору
 
   для: cheops   (03.01.2007 в 00:59)
 

Извиняюсь, опечатка, просто когда на форуме писал, вставлял данные из разных строк... Последне 'Привет' убираю и тоже самое...

   
 
 автор: Krasnodar   (03.01.2007 в 01:14)   письмо автору
 
   для: Krasnodar   (03.01.2007 в 01:08)
 

Вопроса 2:
-почему ключ получается не уникальным;
-пишу 4 имени колонок и 4 значения которые надо записать в таблицу, всеравно такая же ошибка...

   
 
 автор: cheops   (03.01.2007 в 02:43)   письмо автору
 
   для: Krasnodar   (03.01.2007 в 01:14)
 

Хм... странно, а у вас какая версия СУБД? Только что развернул вашу таблицу, вставил запись - запись вставляется, когда используется лишь 4 значения и ключ получается уникальный, на повторную попытку вставить запись с ником 'Krasnodar' возвращает как и положено ошибку
Duplicate entry 'Krasnodar' for key 2

   
 
 автор: Krasnodar   (03.01.2007 в 02:54)   письмо автору
 
   для: cheops   (03.01.2007 в 02:43)
 

С записью разобрался, работает, а вот с ключем нет.... У меня стоит помоему 5.0.3 устанавливал с Вашего диска "Самоучитель MySQL 5"

   
 
 автор: cheops   (03.01.2007 в 13:05)   письмо автору
 
   для: Krasnodar   (03.01.2007 в 02:54)
 

У вас phpMyAdmin имеется? Посмотрите сколько столбцов проиндексировано уникальным ключём. Если 0 попробуйте восстановить индекс, выполнив оператор CHECK TABLE.

   
 
 автор: Krasnodar   (03.01.2007 в 16:26)   письмо автору
 
   для: cheops   (03.01.2007 в 13:05)
 

phpMyAdmin есть, только он не настроен...
у меня в таблице есты ключ PRI и MUL, когда удаляю чер DROP INDEX mul ключ и добавлюю ADD UNIQUE получаю опять ключ mul

   
 
 автор: cheops   (03.01.2007 в 16:45)   письмо автору
 
   для: Krasnodar   (03.01.2007 в 16:26)
 

Не должно быть так, ключ должен помечаться флагом UNI, а не MUL.

   
 
 автор: Krasnodar   (03.01.2007 в 17:18)   письмо автору
 
   для: cheops   (03.01.2007 в 16:45)
 

ну да... в книге тоже так написано, но результат противоположный....:))

да, подарили на новый год 2 ваши книги "Самоучитель MySQL5" и "MySQL5 в подленнике", посмотрел и понял что второй вполне достаточно..... Теперь думаю куда деть первую и купить про php...

   
Rambler's Top100
вверх

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