Не нравятся результаты поиска? Попробуйте другой поиск!
DLE FAQ » Все вопросы » MySQL » Как обратиться к таблице, чтоб добавить туда столбцы?

Как обратиться к таблице, чтоб добавить туда столбцы?


     06.08.2015    Все вопросы » MySQL    1185

вопрос
Помогите правильно изменить запрос к бд, чтоб добавить туда новые столбцы. Читал мануалы, пробывал, вылазят ошибки всякие.
Вот запрос:

UPDATE TABLE `dle_users` (
  `user_color` varchar(10) NOT NULL DEFAULT 'user',
  `user_rank` int(1) NOT NULL DEFAULT '1',
  `user_access` int(1) NOT NULL DEFAULT '4',
  `user_roomid` int(6) NOT NULL DEFAULT '1',
  `user_kick` text NOT NULL,
  `user_mute` varchar(16) NOT NULL,
  `mute_time` int(12) NOT NULL,
  `user_flood` int(1) NOT NULL,
  `user_theme` varchar(16) NOT NULL DEFAULT 'Default',
  `user_sex` int(1) NOT NULL DEFAULT '0',
  `user_age` int(2) NOT NULL DEFAULT '0',
  `user_avatar` varchar(50) NOT NULL DEFAULT 'default_avatar.png',
  `upload_count` int(11) NOT NULL DEFAULT '0',
  `upload_access` int(11) NOT NULL DEFAULT '1',
  `user_sound` int(1) NOT NULL DEFAULT '2',
  `temp_pass` varchar(40) NOT NULL DEFAULT '0',
  `temp_time` int(10) NOT NULL DEFAULT '0',
  `user_tumb` varchar(100) NOT NULL DEFAULT 'default_avatar_tumb.png',
  `guest` int(1) NOT NULL DEFAULT '0',
  `verified` int(1) NOT NULL DEFAULT '1',
  `valid_key` varchar(64) NOT NULL,
  `user_ignore` text NOT NULL,
  `first_check` int(10) NOT NULL DEFAULT '0',
  `join_chat` int(10) NOT NULL DEFAULT '0',
  `email_count` int(1) NOT NULL DEFAULT '0',
  `user_friends` text NOT NULL,
  `region` varchar(100) NOT NULL,
  `city` varchar(100) NOT NULL,
  `count` int(10) NOT NULL DEFAULT '0',
  PRIMARY KEY (`user_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1;

Mysql возвращает мне такую ошибку - "#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'TABLE `dle_users` ( `user_color` varchar(10) NOT NULL DEFAULT 'user', `use' at line 1"

Ответил: PunPun


DomiTori, и да, UPDATE не поможет, он обновляет данные а не создает новые колонки!

Вот мануал, учи https://dev.mysql.com/doc/refman/5.7/en/alter-table.html

6 комментариев

PunPun
Эксперт

PunPun - 6 августа 2015 13:13 -

У тебя база "InnoDB" или же "MyISAM" ?

well​

DomiTori
Юзер

DomiTori - 6 августа 2015 13:22 -

Не обратил внимания. Заменил в конце на "MyISAM". Ошибка таже

PunPun
Эксперт

PunPun - 6 августа 2015 13:24 -

***Комментарий удален***

well​

DomiTori
Юзер

DomiTori - 7 августа 2015 00:36 -

Прочитал я этот мануал и прочие, не помогло. Одиночный запрос на каждую строку работает как надо, но если перечислять список создаваемых строк, вылазят ошибки. Порой этот mysql не понять, чего он хочет

PunPun
Эксперт

PunPun - 7 августа 2015 09:50 -

DomiTori, божэ мой
ALTER TABLE  `dle_users` ADD  `user_color` varchar(10) NOT NULL DEFAULT 'user' ,
ADD  `user_rank` int(1) NOT NULL DEFAULT '1',
ADD  `user_access` int(1) NOT NULL DEFAULT '4',
ADD  `user_roomid` int(6) NOT NULL DEFAULT '1',
ADD  `user_kick` text NOT NULL,
ADD  `user_mute` varchar(16) NOT NULL,
ADD  `mute_time` int(12) NOT NULL,
ADD  `user_flood` int(1) NOT NULL,
ADD  `user_theme` varchar(16) NOT NULL DEFAULT 'Default',
ADD  `user_sex` int(1) NOT NULL DEFAULT '0',
ADD  `user_age` int(2) NOT NULL DEFAULT '0',
ADD  `user_avatar` varchar(50) NOT NULL DEFAULT 'default_avatar.png',
ADD  `upload_count` int(11) NOT NULL DEFAULT '0',
ADD  `upload_access` int(11) NOT NULL DEFAULT '1',
ADD  `user_sound` int(1) NOT NULL DEFAULT '2',
ADD  `temp_pass` varchar(40) NOT NULL DEFAULT '0',
ADD  `temp_time` int(10) NOT NULL DEFAULT '0',
ADD  `user_tumb` varchar(100) NOT NULL DEFAULT 'default_avatar_tumb.png',
ADD  `guest` int(1) NOT NULL DEFAULT '0',
ADD  `verified` int(1) NOT NULL DEFAULT '1',
ADD  `valid_key` varchar(64) NOT NULL,
ADD  `user_ignore` text NOT NULL,
ADD  `first_check` int(10) NOT NULL DEFAULT '0',
ADD  `join_chat` int(10) NOT NULL DEFAULT '0',
ADD  `email_count` int(1) NOT NULL DEFAULT '0',
ADD  `user_friends` text NOT NULL,
ADD  `region` varchar(100) NOT NULL,
ADD  `city` varchar(100) NOT NULL,
ADD  `count` int(10) NOT NULL DEFAULT '0';


Как же все просто, просто учить нужно и смотреть. Бери книги и учи, если уж по мануала не можешь сделать.

well​

DomiTori
Юзер

DomiTori - 7 августа 2015 12:01 -

Gameer,
спасибо. то что нужно

Чтобы комментировать - войдите или зарегистрируйтесь на сайте

Похожие вопросы

наверх