| |
|
|
| | Сижу сейчас с двумя книжками "Самоучитель 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'.
правильно я понял или нет??? и что пропустил в описании столбцов???? | |
| |
|
|
| |
|
|
| |
для: Krasnodar
(02.01.2007 в 18:06)
| | | id обычно делают счетчиком, т.е. дают ему атрибут auto_increment. тогда id точно будет уникальным, что упрощает поиск и обработку данных. да, и неплохо бы id дать размер, поле
типа INT этого требует.
а icq надо делать VARCHAR, он же может быть длинным, не влезет в INT. | |
| |
|
|
| |
|
|
| |
для: 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:29)
| | | нашел у себя синтаксическую ошибку в авто инкременте, исправил а он всеравно ругается
ERROR 1075 (42000): Incorrect table definition; there can be only one auto column and it must be defined as a key
|
| |
| |
|
|
| |
|
|
| |
для: 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; | |
| |
|
|
| |
|
|
| |
для: 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`)
|
| |
| |
|
|
| |
|
|
| |
для: 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 | |
| |
|
|
| |
|
|
| |
для: elenaki
(02.01.2007 в 20:02)
| | | понял..... спасибо... | |
| |
|
|