Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > SQL, базы данных
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.03.2015, 20:12   #1
Illusiony
Форумчанин
 
Регистрация: 17.02.2014
Сообщений: 881
По умолчанию Что не так при создании таблицы?

Код:
$sql = mysqli_query($link,"CREATE  TABLE IF NOT EXISTS `admin_bd_avtopick`.`static_base`  (
	`n` SMALLINT UNSIGNED NOT NULL  AUTO_INCREMENT,
	`login` VARCHAR(8)NOT NULL ,
  `data` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ,
  `Nxoda` TINYINT UNSIGNED NOT NULL ,
  `1id` SMALLINT UNSIGNED NOT NULL ,
  `2id` SMALLINT UNSIGNED NOT NULL ,
  `3id` SMALLINT UNSIGNED NOT NULL,
  `1kol` SMALLINT UNSIGNED NOT NULL ,
  `2kol` SMALLINT UNSIGNED NOT NULL ,
  `3kol` SMALLINT UNSIGNED NOT NULL ,
   `vibor` TINYINT UNSIGNED NOT NULL ,
PRIMARY KEY (`login`(8)),
ENGINE = MyISAM
DEFAULT CHARACTER SET = utf8
COLLATE = utf8_general_ci");
Сообщение:

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 '= MyISAM DEFAULT CHARACTER SET = utf8 COLLATE = utf8_general_ci' at line 14
Illusiony вне форума Ответить с цитированием
Старый 26.03.2015, 20:22   #2
Stanislav
Квадрокоптерист
Участник клуба Подтвердите свой е-майл
 
Регистрация: 29.09.2007
Сообщений: 1,824
По умолчанию

живой, как ваш проект?

какая версия мускуля? честно говоря в запросе у вас ошибка. я что рекомендую создайте табличку в phpmyadmin он вас sql напишет.

в личку написал дошло?
Я часть той силы, что вечно хочет зла, но вечно совершает благо..

Последний раз редактировалось Stanislav; 26.03.2015 в 20:31.
Stanislav вне форума Ответить с цитированием
Старый 26.03.2015, 20:38   #3
Illusiony
Форумчанин
 
Регистрация: 17.02.2014
Сообщений: 881
По умолчанию

да на 2х версиях одно и тоже 5.3 и 5.5
Да мне интересно что неправильно чтобы уяснить для себя.
Illusiony вне форума Ответить с цитированием
Старый 27.03.2015, 19:43   #4
Illusiony
Форумчанин
 
Регистрация: 17.02.2014
Сообщений: 881
По умолчанию

имею такое выполняется:
Код:
$sql = mysqli_query($link,"CREATE  TABLE IF NOT EXISTS `bd_avtopick`.`register_xx5`  (
`n` SMALLINT UNSIGNED NOT NULL AUTO_INCREMENT,
  `login` VARCHAR(8)NOT NULL ,
  `md5_password` CHAR(32)NOT NULL ,
  `email` VARCHAR(128) NOT NULL ,
  `status` TINYINT (1) NOT NULL ,
  `1k` SMALLINT UNSIGNED NOT NULL ,
  `2k` SMALLINT UNSIGNED NOT NULL ,
  `3k` SMALLINT UNSIGNED NOT NULL,
  `1n` SMALLINT UNSIGNED NOT NULL ,
  `2n` SMALLINT UNSIGNED NOT NULL ,
  `3n` SMALLINT UNSIGNED NOT NULL ,
  `Nxoda` TINYINT UNSIGNED NOT NULL ,
  `data` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ,
  `data_xod` TIMESTAMP NOT NULL default '0000-00-00 00:00:00',
  `xod_sec` TINYINT UNSIGNED NOT NULL ,
PRIMARY KEY (`n`),
UNIQUE (`email`(128)))
ENGINE = MyISAM
DEFAULT CHARACTER SET = utf8
COLLATE = utf8_general_ci");
Убираю строчки:
Код:
 `email` VARCHAR(128) NOT NULL ,
и
Код:
UNIQUE (`email`(128)))
И опять ошибка эта

Что sql не нравится??? если я просто удалил лишнее?
Запятая не играет роли.

Последний раз редактировалось Illusiony; 27.03.2015 в 21:16.
Illusiony вне форума Ответить с цитированием
Старый 27.03.2015, 22:28   #5
Stanislav
Квадрокоптерист
Участник клуба Подтвердите свой е-майл
 
Регистрация: 29.09.2007
Сообщений: 1,824
По умолчанию

я отправлял тест jmeter на почту получил? не каждый день таблицы вручную создаешь трудно без пк сказать, завтра попробую помочь

попробуй запятую после примари кей убрать вообще бы текст ошибки..
Я часть той силы, что вечно хочет зла, но вечно совершает благо..
Stanislav вне форума Ответить с цитированием
Старый 27.03.2015, 23:00   #6
Illusiony
Форумчанин
 
Регистрация: 17.02.2014
Сообщений: 881
По умолчанию

Да получил, спасибо.

Код ошибки тот же:
Код:
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 '= MyISAM DEFAULT CHARACTER SET = utf8 COLLATE = utf8_general_ci' at line 19
т. е. удаляю только UNIQUE (`email`(128))), например. Запятая роли не играет.

Stanislav, я Вам очень благодарен. Но вы уж как то через чур мне помогаете. Я не лично к Вам за вопросом обращаюсь . Поберегите себя.

Последний раз редактировалось Illusiony; 27.03.2015 в 23:03.
Illusiony вне форума Ответить с цитированием
Старый 27.03.2015, 23:36   #7
lomastr_
Форумчанин
 
Регистрация: 16.01.2015
Сообщений: 672
По умолчанию

Цитата:
PRIMARY KEY (`login`(8)),
запятая не нужна
lomastr_ вне форума Ответить с цитированием
Старый 28.03.2015, 00:23   #8
Illusiony
Форумчанин
 
Регистрация: 17.02.2014
Сообщений: 881
По умолчанию

Код:
$sql = mysqli_query($link,"CREATE  TABLE IF NOT EXISTS `bd_avtopick`.`register_xx13`  (
`n` SMALLINT UNSIGNED AUTO_INCREMENT,
  `login` VARCHAR(8)NOT NULL ,
  `md5_password` CHAR(32)NOT NULL ,
  `email` VARCHAR(128) NOT NULL ,
  `status` TINYINT (1) NOT NULL ,
  `1k` SMALLINT UNSIGNED NOT NULL ,
  `2k` SMALLINT UNSIGNED NOT NULL ,
  `3k` SMALLINT UNSIGNED NOT NULL,
  `1n` SMALLINT UNSIGNED NOT NULL ,
  `2n` SMALLINT UNSIGNED NOT NULL ,
  `3n` SMALLINT UNSIGNED NOT NULL ,
  `Nxoda` TINYINT UNSIGNED NOT NULL ,
  `data` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ,
  `data_xod` TIMESTAMP NOT NULL default '0000-00-00 00:00:00',
  `xod_sec` TINYINT UNSIGNED NOT NULL ,
PRIMARY KEY (`n`)
UNIQUE (`email`(128)))
ENGINE = MyISAM
DEFAULT CHARACTER SET = utf8
COLLATE = utf8_general_ci");
Это дает ошибку
Код:
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 'UNIQUE (`email`(128))) ENGINE = MyISAM DEFAULT CHARACTER SET = utf8 COLLATE =' at line 18
, если после PRIMARY KEY (`n`) нету запятой. Ставлю запятую ошибки нету.
Illusiony вне форума Ответить с цитированием
Старый 28.03.2015, 00:26   #9
lomastr_
Форумчанин
 
Регистрация: 16.01.2015
Сообщений: 672
По умолчанию

запятая в топике а не тут, вы что не видите что это разные запросы?
lomastr_ вне форума Ответить с цитированием
Старый 28.03.2015, 00:29   #10
Illusiony
Форумчанин
 
Регистрация: 17.02.2014
Сообщений: 881
По умолчанию

Код:
$sql = mysqli_query($link,"CREATE  TABLE IF NOT EXISTS `bd_avtopick`.`register_xx16`  (
`n` SMALLINT UNSIGNED AUTO_INCREMENT,
  `login` VARCHAR(8)NOT NULL ,
  `md5_password` CHAR(32)NOT NULL ,
  `status` TINYINT (1) NOT NULL ,
  `1k` SMALLINT UNSIGNED NOT NULL ,
  `2k` SMALLINT UNSIGNED NOT NULL ,
  `3k` SMALLINT UNSIGNED NOT NULL,
  `1n` SMALLINT UNSIGNED NOT NULL ,
  `2n` SMALLINT UNSIGNED NOT NULL ,
  `3n` SMALLINT UNSIGNED NOT NULL ,
  `Nxoda` TINYINT UNSIGNED NOT NULL ,
  `data` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ,
  `data_xod` TIMESTAMP NOT NULL default '0000-00-00 00:00:00',
  `xod_sec` TINYINT UNSIGNED NOT NULL ,
PRIMARY KEY (`n`))
ENGINE = MyISAM
DEFAULT CHARACTER SET = utf8
COLLATE = utf8_general_ci");


Работает так. Нашел ошибку в синтаксисе
Не заметил закрывающую скобку в UNIQUE (`email`(128))) и удалял вместе с ней. Теперь оставил и удалил запятую.
Illusiony вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ошибка при создании таблицы ElectronJournal БД в Delphi 3 29.04.2013 20:01
Ошибка при создании и (или) записи таблицы ProgDel БД в Delphi 5 07.11.2010 20:00
Ошибка при создании таблицы ProgDel БД в Delphi 5 07.11.2010 11:31
Ошибка при создании таблицы LAGOX SQL, базы данных 1 28.03.2009 00:46
Проблема при создании таблицы используя sql Proof БД в Delphi 2 26.02.2009 22:09