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

Форум MySQL

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

 

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

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

тема: правильно ли я понял?
 
 автор: Krasnodar   (02.01.2007 в 18:06)   письмо автору
 
 

Сижу сейчас с двумя книжками "Самоучитель MySQL5" и "MySQL5 в подленнике", написал таблицу, вот хочу

уточнить правильно ли я мыслю...


CREATE TABLE users 
(
id_user INT NOT NULL,
nick VARCHAR(255) NOT NULL,
name VARCHAR(255) NOT NULL,
mail VARCHAR(255) NULL,
icq INT NULL,
wap_url VARCHAR(255) NULL,
web_url VARCHAR(255) NULL,
about VARCHAR(255) NULL,
date_reg TIMESTAMP
)


столбец id_user содержит только цифры и не может быть пустым, столбец nick может содержать текст, символы,

цифры и не может быть пустым, столбец mail может содержать текст, символы, цифры и может быть пустым,

столбец date_reg содержит дату формата 'YYYY-MM-DD hh:mm:ss'.

правильно я понял или нет??? и что пропустил в описании столбцов????

   
 
 автор: elenaki   (02.01.2007 в 19:04)   письмо автору
 
   для: Krasnodar   (02.01.2007 в 18:06)
 

id обычно делают счетчиком, т.е. дают ему атрибут auto_increment. тогда id точно будет уникальным, что упрощает поиск и обработку данных. да, и неплохо бы id дать размер, поле
типа INT этого требует.

а icq надо делать VARCHAR, он же может быть длинным, не влезет в INT.

   
 
 автор: Krasnodar   (02.01.2007 в 19:29)   письмо автору
 
   для: elenaki   (02.01.2007 в 19:04)
 

исправил, теперь

CREATE TABLE users 
(
id_user INT AUTO INCREMENT,
nick VARCHAR(255) NOT NULL,
name VARCHAR(255) NOT NULL,
mail VARCHAR(255) NULL,
icq VARCHAR(255) NULL,
wap_url VARCHAR(255) NULL,
web_url VARCHAR(255) NULL,
about VARCHAR(255) NULL,
date_reg TIMESTAMP
)

а MySQL ругается матом...

ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your
MySQL server version for the right syntax to use near 'AUTO INCREMENT,
nick VARCHAR(255) NOT NULL,
name VARCHAR(255) NOT NULL,
mail VAR' at line 3

   
 
 автор: Krasnodar   (02.01.2007 в 19:33)   письмо автору
 
   для: Krasnodar   (02.01.2007 в 19:29)
 

нашел у себя синтаксическую ошибку в авто инкременте, исправил а он всеравно ругается
ERROR 1075 (42000): Incorrect table definition; there can be only one auto column and it must be defined as a key

   
 
 автор: elenaki   (02.01.2007 в 19:42)   письмо автору
 
   для: Krasnodar   (02.01.2007 в 19:33)
 

CREATE TABLE `users` (
`id_user` int(11) NOT NULL auto_increment,
`nick` varchar(255) NOT NULL default '',
`name` 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_reg` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
PRIMARY KEY (`id_user`)
) ENGINE=MyISAM;

   
 
 автор: Krasnodar   (02.01.2007 в 19:56)   письмо автору
 
   для: elenaki   (02.01.2007 в 19:42)
 

чет не пойму, в строке
`id_user` int(11) NOT NULL auto_increment,

int(11) означает что может быть сочетание 11 цифр?
и что делает эта строка
`date_reg` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
PRIMARY KEY (`id_user`) 

   
 
 автор: elenaki   (02.01.2007 в 20:02)   письмо автору
 
   для: Krasnodar   (02.01.2007 в 19:56)
 

int(11) - размер (длина) поля, максимум 11 знаков

`date_reg` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP - это мне MySQL-Front наваял столько. достаточно просто DATETIME

PRIMARY KEY (`id_user`) - определение первичного ключа. только первичный ключ может иметь тип auto_increment

   
 
 автор: Krasnodar   (02.01.2007 в 20:09)   письмо автору
 
   для: elenaki   (02.01.2007 в 20:02)
 

понял..... спасибо...

   
Rambler's Top100
вверх

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