|
|
|
| Научился создать таблицу.
CREATE_TABLE table(id int(2), name varchar(100))
|
теперь я не понимаю, как сделать например добавление анекдотов и чтоб для каждого анекдота был свой id? | |
|
|
|
|
|
|
|
для: Specter
(16.04.2007 в 13:25)
| | В этом случае лучше сделать поле id первичным ключём и снабдить его атрибутом AUTO_INCREMENT - передача значения NULL будет приводить к генерации уникального значения в поля id (равного максимальному значению id в столбце плюс 1).
CREATE TABLE `table` (
id INT(2) NOT NULL AUTO_INCREMENT ,
name VARCHAR(100),
PRIMARY KEY ( id ));
|
| |
|
|
|
|
|
|
|
для: cheops
(16.04.2007 в 13:40)
| | Привет хеопс. :)
А что в твоем случае означает PRIMARY_KEY(id) ? | |
|
|
|
|
|
|
|
для: Specter
(16.04.2007 в 13:58)
| | Это означает, что поле id становится первичным ключом таблицы. Это нужно для того, чтобы можно было снабдить поле атрибутом AUTO_INCREMENT, который требует, чтобы поле было снабжено уникальным индексом. | |
|
|
|
|
|
|
|
для: Specter
(16.04.2007 в 13:58)
| | Почему такой код выдает ошибку?
<?php
$link = mysql_connect('localhost', 'test', 'pass');
$query = "CREATE_TABLE `test` (
id INT(2) NOT NULL AUTO_INCREMENT,
name VARCHAR(100),
PRIMARY_KEY( id ))";
mysql_select_db('news', $link);
if(! mysql_query($query, $link)){
echo 'Ошибка!'; }
mysql_close($link);
?>
| . | |
|
|
|
|
|
|
|
для: Specter
(16.04.2007 в 14:17)
| | Хм... а почему везде стоят знаки вопроса? | |
|
|
|
|
|
|
|
для: cheops
(16.04.2007 в 14:18)
| | Убрал вопросики. | |
|
|
|
|
|
|
|
для: Specter
(16.04.2007 в 14:17)
| | Исправьте строку
на
<?php
echo 'Ошибка!'.mysql_error();
?>
|
Что теперь выводится? | |
|
|
|
|
|
|
|
для: cheops
(16.04.2007 в 14:50)
| | 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
'CREATE_TABLE `test` ( id INT(2
)
NOT NULL AUTO_INCREMENT, name
VARCHAR(100
), PRIM' at line 1 | |
|
|
|
|
|
|
|
для: Specter
(16.04.2007 в 15:08)
| | Как исправить эту ошибку? | |
|
|
|
|
|
|
|
для: Specter
(16.04.2007 в 16:53)
| | Подчеркивание между CREATE и TABLE - зачем? | |
|
|
|
|
|
|
|
для: Specter
(16.04.2007 в 15:08)
| | Сам исправил. :)
Щас не пойму, как добавить анекдот, чтобы ему свой ид присвоился.
INSERT INTO test VALUE(0,'test')
|
если убрать "0", то выдает ошибку. Этим нулем я кажется задаю ид анекдота.
Когда создавал таблицу, я написал
"CREATE TABLE `text` (
`id` int(11) NOT NULL auto_increment,
`text` text NOT NULL,
KEY `id` (`id`)
) TYPE=MyISAM AUTO_INCREMENT=100 ;";
|
| |
|
|
|
|
|
|
|
для: Specter
(16.04.2007 в 17:21)
| |
INSERT INTO test (name) VALUE('text')
|
| |
|
|
|
|
|
|
|
для: Trianon
(16.04.2007 в 17:25)
| | (name) так и писать? | |
|
|
|
|
|
|
|
для: Specter
(16.04.2007 в 17:28)
| | Судя по тому , что в последнем варианте поле у Вас называется text, писать надо
INSERT INTO test (`text`) VALUE('text')
|
| |
|
|
|
|
|
|
|
для: Trianon
(16.04.2007 в 17:40)
| | Регистрация в чатах, форумах и т.д. делается по такому принципу? Делаются поля password, name, mail и т.д? И потом при авторизации проверяют совпадает ли введеный пароль с паролем, у которого ник - введенный в форме ник? | |
|
|
|
|
|
|
|
для: Specter
(16.04.2007 в 18:00)
| | По какому - такому?
Пароли вообще-то стараются не хранить - хранят хеши.
При авторизации сравнивают хеш пароля с полем в таблице - в простейшем случае.
Какое отношение этот вопрос имеет к заявленному в теме? | |
|
|
|
|
|
|
|
для: Trianon
(16.04.2007 в 18:09)
| | Я просто так спросил. :) | |
|
|
|