как добавить правильно поле в таблицу и одну запись внести?

MySQL/PostgreSQL/SQLite/Oracle/M$SQL/....

Модератор: terminus

Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Аватара пользователя
bobot
ст. прапорщик
Сообщения: 589
Зарегистрирован: 2008-05-28 20:03:17

как добавить правильно поле в таблицу и одну запись внести?

Непрочитанное сообщение bobot » 2009-06-22 14:02:35

вот у меня есть таблица

Код: Выделить всё

+----------------+----------------------+------+-----+-------------------+----------------+
| Field          | Type                 | Null | Key | Default           | Extra          |
+----------------+----------------------+------+-----+-------------------+----------------+
| user_id        | smallint(5) unsigned | NO   | PRI | NULL              | auto_increment |
| group_id       | smallint(5) unsigned | NO   |     | 1003              |                |
| crypt_password | varchar(40)          | NO   |     |                   |                |
| home_dir       | varchar(255)         | NO   |     |                   |                |
| last_access    | date                 | NO   | MUL | 0000-00-00        |                |
| dept_id        | tinyint(3) unsigned  | NO   | MUL | 0                 |                |
| login          | varchar(40)          | NO   | UNI |                   |                |
| name           | varchar(80)          | NO   |     |                   |                |
| contact_info   | varchar(255)         | NO   |     |                   |                |
| quota          | tinyint(4)           | YES  |     | 100               |                |
| maildir        | varchar(255)         | NO   |     | /var/mail/        |                |
| home           | varchar(255)         | NO   |     | /home/bobot/      |                |
| uid            | int(10) unsigned     | YES  |     | 1003              |                |
| gid            | int(10) unsigned     | YES  |     | 6                 |                |
| active         | tinyint(1)           | NO   |     | 1                 |                |
| reg_date       | timestamp            | NO   |     | CURRENT_TIMESTAMP |                |
| authproxy_id   | int(6)               | YES  |     | NULL              |                |
| faculty        | char(255)            | NO   |     |                   |                |
| domain         | char(128)            | NO   |     |                   |                |
+----------------+----------------------+------+-----+-------------------+----------------+
вот я добавил колонку domain и не могу туда внести значение пишет

Код: Выделить всё

ERROR 1062 (23000): Duplicate entry '' for key 2
(оно правильно на меня матюкается)
повторяю я хочу ввести значение в одно поле а не заполнить всю таблицу!
Что то читаю запрос create_view и ничего не получается! Может кто то что то подскажит?

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

zg
полковник
Сообщения: 5845
Зарегистрирован: 2007-12-07 13:51:33
Откуда: Верх-Нейвинск

Re: как добавить правильно поле в таблицу и одну запись внести?

Непрочитанное сообщение zg » 2009-06-22 15:25:26

bobot писал(а):и не могу туда внести значение
запрос выложи

Аватара пользователя
bobot
ст. прапорщик
Сообщения: 589
Зарегистрирован: 2008-05-28 20:03:17

Re: как добавить правильно поле в таблицу и одну запись внести?

Непрочитанное сообщение bobot » 2009-06-22 15:44:53

zg писал(а):
bobot писал(а):и не могу туда внести значение
запрос выложи
Вот

Код: Выделить всё

INSERT INTO users (domain ) VALUES ('newmail.univ.kiev.ua');
а вот и ответ

Код: Выделить всё

ERROR 1062 (23000): Duplicate entry '' for key 2
Та мускул правильно на меня ругается, нельзя в таблице столбик заполнить одним значением
я просто вот что хочу сделать

Код: Выделить всё

login     password      domain

yura       eerrtty        newmail.univ.kiev.ua
serega   sdfdfd          testmail.univ.kiev.ua
maxim   dsdsd
boris     sdsds
lera       sdsds
т.е. я не хочу чтоб домена дублировались, у меня есть например 2 домена постоянных я ввёл их в колонку domain и всё...........(и повторяю я хочу чтоб это было в одной таблице)

zg
полковник
Сообщения: 5845
Зарегистрирован: 2007-12-07 13:51:33
Откуда: Верх-Нейвинск

Re: как добавить правильно поле в таблицу и одну запись внести?

Непрочитанное сообщение zg » 2009-06-22 15:53:51

bobot писал(а):INSERT INTO users (domain ) VALUES ('newmail.univ.kiev.ua');
у тебя логин дублируется, поэтому и ошибка
bobot писал(а):я просто вот что хочу сделать
дак вставляй всю строку целиком, а не только домен, тогда и ошибки не будет

Аватара пользователя
bobot
ст. прапорщик
Сообщения: 589
Зарегистрирован: 2008-05-28 20:03:17

Re: как добавить правильно поле в таблицу и одну запись внести?

Непрочитанное сообщение bobot » 2009-06-22 16:01:56

zg писал(а):
bobot писал(а):INSERT INTO users (domain ) VALUES ('newmail.univ.kiev.ua');
у тебя логин дублируется, поэтому и ошибка
bobot писал(а):я просто вот что хочу сделать
дак вставляй всю строку целиком, а не только домен, тогда и ошибки не будет
Та я знаю что так ошибки не будет!! но я не хочу чтоб у меня дублировались домена ......
т.е вот есть у меня 5 доменов и всё, ну это можно сделать и в другой таблице! Груба говоря чтоб sql брал из 5 доменов нужный а не среди 10 000 где всё в перемешку

zg
полковник
Сообщения: 5845
Зарегистрирован: 2007-12-07 13:51:33
Откуда: Верх-Нейвинск

Re: как добавить правильно поле в таблицу и одну запись внести?

Непрочитанное сообщение zg » 2009-06-22 16:04:29

bobot писал(а):Груба говоря чтоб sql брал из 5 доменов нужный а не среди 10 000 где всё в перемешку
чего? o_O

Аватара пользователя
bobot
ст. прапорщик
Сообщения: 589
Зарегистрирован: 2008-05-28 20:03:17

Re: как добавить правильно поле в таблицу и одну запись внести?

Непрочитанное сообщение bobot » 2009-06-22 16:15:23

zg писал(а):
bobot писал(а):Груба говоря чтоб sql брал из 5 доменов нужный а не среди 10 000 где всё в перемешку
чего? o_O
Это для того чтобы исключить появления левого домена , тоесть при регистрации юзера sql запрос домен записывать в базу не будет, потому что я ввёл их фиксированое количество и названия так как мне это сделать ............

zg
полковник
Сообщения: 5845
Зарегистрирован: 2007-12-07 13:51:33
Откуда: Верх-Нейвинск

Re: как добавить правильно поле в таблицу и одну запись внести?

Непрочитанное сообщение zg » 2009-06-22 16:20:33

bobot писал(а):так как мне это сделать ............
создай таблицу доменов и в таблицу пользователей пихай их идентификаторы

Аватара пользователя
bobot
ст. прапорщик
Сообщения: 589
Зарегистрирован: 2008-05-28 20:03:17

Re: как добавить правильно поле в таблицу и одну запись внести?

Непрочитанное сообщение bobot » 2009-06-22 16:48:42

zg писал(а):
bobot писал(а):так как мне это сделать ............
создай таблицу доменов и в таблицу пользователей пихай их идентификаторы
это вот так

Код: Выделить всё

таблица юзеров                                                    таблица domains
login     password  domain_id                                  id       domain
fffff      dsdsdsds    1                                               1      newmail.univ.kiev.ua
sdss      sdsdsdds     2                                              2      testmail.univ.kiev.ua
dsdsd    sdsdsdss     3                                               3      ukr.net
dsds     sdsdsdsds    1
и потом в конфиге экзима указать sql запрос

Код: Выделить всё

  ${lookup mysql{SELECT domain, user FROM domains, users WHERE id = domain_id}}
Так?

zg
полковник
Сообщения: 5845
Зарегистрирован: 2007-12-07 13:51:33
Откуда: Верх-Нейвинск

Re: как добавить правильно поле в таблицу и одну запись внести?

Непрочитанное сообщение zg » 2009-06-22 16:53:44

bobot писал(а):это вот так
угу

Аватара пользователя
bobot
ст. прапорщик
Сообщения: 589
Зарегистрирован: 2008-05-28 20:03:17

Re: как добавить правильно поле в таблицу и одну запись внести?

Непрочитанное сообщение bobot » 2009-06-22 16:57:58

zg писал(а):
bobot писал(а):это вот так
угу
только задаётся вопрос где этот sql запрос

Код: Выделить всё

${lookup mysql{SELECT domain, user FROM domains, users WHERE id = domain_id}}
лепить в конфиге exima

zg
полковник
Сообщения: 5845
Зарегистрирован: 2007-12-07 13:51:33
Откуда: Верх-Нейвинск

Re: как добавить правильно поле в таблицу и одну запись внести?

Непрочитанное сообщение zg » 2009-06-22 16:59:30

bobot писал(а):лепить в конфиге exima
к мускулу это не имеет никакого отношения :no:

Аватара пользователя
bobot
ст. прапорщик
Сообщения: 589
Зарегистрирован: 2008-05-28 20:03:17

Re: как добавить правильно поле в таблицу и одну запись внести?

Непрочитанное сообщение bobot » 2009-06-22 17:05:43

zg писал(а):
bobot писал(а):лепить в конфиге exima
к мускулу это не имеет никакого отношения :no:
хорошо как мне тогда сделать чтоб мускул понимал что такое равенстов выполняется

Код: Выделить всё

id = domain_id
Он же не будет понимать что эти таблицы объеденены !
да в самом мускуле я селектом могу задать запрос!(он мне выведет)

Но он же где то должен прописан в конфиге, чего-то я не понимаю :unknown:
В экзиме наверное запрос надо прописывать?

как же тогда быть? (как он будет понимать что такое равенство выполняется тогда? ну когда экзим обращается)

zg
полковник
Сообщения: 5845
Зарегистрирован: 2007-12-07 13:51:33
Откуда: Верх-Нейвинск

Re: как добавить правильно поле в таблицу и одну запись внести?

Непрочитанное сообщение zg » 2009-06-22 17:11:59

bobot писал(а):Он же не будет понимать что эти таблицы объеденены !
будет
bobot писал(а):В экзиме наверное запрос надо прописывать?
по экзиму есть отдельный форум, лучше там спрашивай