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

Форум MySQL

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

 

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

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

тема: Где тут ошибка?
 
 автор: BlueWolf   (07.07.2010 в 14:44)   письмо автору
 
 

<?
include ("add/config.php");
?>
<?
$create = mysql_query("CREATE TABLE `super` (`id` INT(6 ) NOT NULL AUTO_INCREMENT,`img_name`VARCHAR(50) NOT NULL,`comment`VARCHAR(300) NOT NULL,`loadingdate`VARCHAR(9),UNIQUE(`img_name`) )");
if ($create == true) {echo "создано";}else{echo"не создано";}
?>

Табличка не создаётся =( Где я допустил ошибку?

  Ответить  
 
 автор: Slo_Nik   (07.07.2010 в 15:09)   письмо автору
 
   для: BlueWolf   (07.07.2010 в 14:44)
 

допишите в

<?php
else{
echo
"не создано".mysql_error();
}
?>

и увидите ошибку

  Ответить  
 
 автор: BlueWolf   (07.07.2010 в 15:17)   письмо автору
 
   для: Slo_Nik   (07.07.2010 в 15:09)
 

появилось Incorrect table definition; there can be only one auto column and it must be defined as a key
Пожалуйста объясните мне новичку что я делаю не так.

  Ответить  
 
 автор: Gubichev   (07.07.2010 в 15:21)   письмо автору
 
   для: BlueWolf   (07.07.2010 в 15:17)
 

UNIQUE(id) должно быть как минимум

  Ответить  
 
 автор: Slo_Nik   (07.07.2010 в 15:27)   письмо автору
 
   для: BlueWolf   (07.07.2010 в 15:17)
 

Incorrect table definition; there can be only one auto column and it must be defined as a key
значит
Некорректное определение таблицы может быть только один AUTO_INCREMENT столбец, и он должен быть определен в качестве ключевого

  Ответить  
 
 автор: BlueWolf   (07.07.2010 в 15:42)   письмо автору
 
   для: BlueWolf   (07.07.2010 в 14:44)
 

Написао вот так UNIQUE(`id`,`img_name`) и заработало
Вот только я думаю а надо ли вообще тут поле id?
Ведь в таблице будут храниться адреса фотографий и они будут часто удаляться
id будет перемешанным 1, 10, 23 (пример)
А для чего делают id и пишут AUTO_INCREMENT?

  Ответить  
 
 автор: Gubichev   (07.07.2010 в 15:50)   письмо автору
 
   для: BlueWolf   (07.07.2010 в 15:42)
 

AUTO_INCREMENT автоматически присваивает уникальный номер ячейке.

  Ответить  
 
 автор: Altair96   (08.07.2010 в 14:34)   письмо автору
 
   для: BlueWolf   (07.07.2010 в 14:44)
 

А по моему mysql не может выполнить запрос поскольку нету завершения команды .
Попробуй так
<?
include ("add/config.php");
?>
<?
$create 
mysql_query("CREATE TABLE `super` (`id` INT(6 ) NOT NULL AUTO_INCREMENT,`img_name`VARCHAR(50) NOT NULL,`comment`VARCHAR(300) NOT NULL,`loadingdate`VARCHAR(9),UNIQUE(`img_name`) );");
if (
$create == true) {echo "создано";}else{echo"не создано";}
?>

  Ответить  
Rambler's Top100
вверх

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