ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Программирование > PHP, PERL, MySQL, JavaScript
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

Блин ...
  #231  
Старый 04.08.2008, 12:45
Аватар для still12
still12
Познающий
Регистрация: 18.11.2007
Сообщений: 81
Провел на форуме:
249705

Репутация: 6
Отправить сообщение для still12 с помощью ICQ
По умолчанию Блин ...

Цитата:
Сообщение от m0nsieur  
Установи полю link_id дополнительное значение auto_increment через phpmyadmin.
Примерно так можно через sql сделать:

Код:
   
ALTER TABLE `table` CHANGE `link_id` `link_id` INT( 11 ) NOT NULL AUTO_INCREMENT)

ALTER TABLE `table` ADD UNIQUE (`link_id`)
Так полю значения задал но немного подругому .....но теперь при добавлении данных в базу через форму вылезает Column count doesn't match value count at row 1
 
Ответить с цитированием

  #232  
Старый 04.08.2008, 13:00
Аватар для m0nsieur
m0nsieur
Участник форума
Регистрация: 08.04.2008
Сообщений: 242
Провел на форуме:
2230263

Репутация: 229
По умолчанию

Теперь при добавлении надо писать в базу link_id пустым. Покажи код как добавляешь.
 
Ответить с цитированием

СПС
  #233  
Старый 04.08.2008, 13:06
Аватар для still12
still12
Познающий
Регистрация: 18.11.2007
Сообщений: 81
Провел на форуме:
249705

Репутация: 6
Отправить сообщение для still12 с помощью ICQ
По умолчанию СПС

Цитата:
Сообщение от m0nsieur  
Теперь при добавлении надо писать в базу link_id пустым. Покажи код как добавляешь.
Все спс .....работает )
 
Ответить с цитированием

И снова я
  #234  
Старый 07.08.2008, 12:30
Аватар для still12
still12
Познающий
Регистрация: 18.11.2007
Сообщений: 81
Провел на форуме:
249705

Репутация: 6
Отправить сообщение для still12 с помощью ICQ
По умолчанию И снова я

Есть две таблицы users и link
В таблице users поля : user_id, name, pass
В таблице link user_id, link
При регистрации пользователя ему выдается id. Ну так вот нужно чтобы при входе пользователя на сайт по ему уникальному ид из таблицы link выдавалась ссылка введенная им при регистрации .....
Я так понимаю что user_ id в первой таблице должен иметь иметь значение PR, а user_id во второй таблице FK ? Я прав ...а как это сделать задать FK?


Последний раз редактировалось still12; 07.08.2008 в 12:34..
 
Ответить с цитированием

  #235  
Старый 07.08.2008, 13:05
Аватар для m0nsieur
m0nsieur
Участник форума
Регистрация: 08.04.2008
Сообщений: 242
Провел на форуме:
2230263

Репутация: 229
По умолчанию

Ты правильно понял, создаешь в таблице users поле user_id которое будет primary key, а в таблице link поле user_id оставляешь как есть или у тебя уже все создано и проблема с запросом?
 
Ответить с цитированием

  #236  
Старый 07.08.2008, 13:37
Аватар для VDShark
VDShark
Участник форума
Регистрация: 01.02.2007
Сообщений: 286
Провел на форуме:
804931

Репутация: 526
По умолчанию

m0nsieur думаю он разобрался как сделать первичный ключ, и его интересует как сделать внешний Видимо хочется человеку ссылочную целостность в БД поддерживать.
still12 внешний ключ создается след. образом:
Если у тебя уже созданыы таблицы, то соответственно нам необхоимо расширить их структуру

ALTER TABLE `link` ADD FOREIGN KEY (`user_id`) REFERENCES `users` (`user_id`) ON DELETE CASCADE ON UPDATE CASCADE

Причем если users_id является первичным ключем, то его уточнение после REFERENCES можно опустить, т.е.

REFERENCES `users`

а ON DELETE CASCADE ON UPDATE CASCADE определяют действия базы в случае удаления\обновление того элемента, на который ссылаемся (в данном случае мы выставили каскадное, т.е. если например удалится запись о юзере, то автоматически удалятся записи о его линках)
 
Ответить с цитированием

  #237  
Старый 18.08.2008, 13:51
Аватар для scarm
scarm
Познающий
Регистрация: 04.04.2008
Сообщений: 70
Провел на форуме:
666974

Репутация: 186
По умолчанию

Исходная: в строке sql таблицы
Код:
password(varchar(100))
введены разные типы хэшей (MD5 и MD5:соль), отличающиеся, соответственно, длиной строки и символом-разделителем :
Код:
3b8f3744bf2a000023e470318c315543
a9b8f2d3e1cb0000c031744208939aaa:8XA0DTaXVWJ73X86
d4fa96a300000f764f90a7be296e5cdb
c4f884f2aed00000740c251a973b1e96
5d7c7d6f98be78000003ae6f707ebe59:WZyGIinDH5adLQEv
Поскажите, как сформулировать правильно запрос select, чтобы выводились только md5 строки либо шла сортировка по длине строки (сначала чтобы выводились md5 а потом соленые md5).
Заранее спасибо
 
Ответить с цитированием

  #238  
Старый 18.08.2008, 16:20
Аватар для .:EnoT:.
.:EnoT:.
Постоянный
Регистрация: 29.05.2007
Сообщений: 852
Провел на форуме:
4832771

Репутация: 1916


По умолчанию

scarm
Функцией LENGTH()
Код:
SELECT * FROM `table` ORDER by LENGTH(`password`)
Соответственно если нужно вывести только md5 без соли, то так
Код:
SELECT * FROM `table` WHERE LENGTH(`password`) = 32

Последний раз редактировалось .:EnoT:.; 18.08.2008 в 16:23..
 
Ответить с цитированием

  #239  
Старый 19.08.2008, 07:26
Аватар для krypt3r
krypt3r
Познавший АНТИЧАТ
Регистрация: 27.04.2007
Сообщений: 1,044
Провел на форуме:
3660186

Репутация: 905


По умолчанию

Можно еще, к примеру, разделить поле password на две колонки - в первой находится хэш, во второй - соль или NULL, если хэш несоленый.
Код:
mysql> select substring_index(password, ':', 1), case when locate(':', password) > 0 then substring(password, locate(':', password)+1) else NULL end from table;

| 3b8f3744bf2a000023e470318c315543 | NULL             |
| a9b8f2d3e1cb0000c031744208939aaa | 8XA0DTaXVWJ73X86 |
| d4fa96a300000f764f90a7be296e5cdb | NULL             |
| c4f884f2aed00000740c251a973b1e96 | NULL             |
| 5d7c7d6f98be78000003ae6f707ebe59 | WZyGIinDH5adLQEv |
 
Ответить с цитированием

  #240  
Старый 21.08.2008, 08:27
Аватар для T-Rey
T-Rey
Moderator - Level 7
Регистрация: 04.07.2007
Сообщений: 375
Провел на форуме:
2670099

Репутация: 730
Отправить сообщение для T-Rey с помощью ICQ
По умолчанию

Ребята, есть вопрос по удалению дублей в mysql.

Имеется 5 таблиц
Код:
table_1, table_2, table_3, table_4, table_5,
Дубли надо искать по первым двум совместно.
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сетевой этикет (Перед тем, как задать вопрос хакеру) satana-fu Статьи 7 21.10.2009 07:40
Ответы на часто задаваемые вопросы + линки на статьи по SQL/XSS/PHP-инклуд Jokester Уязвимости 2 28.06.2009 00:19
Интернетчики задали российскому президенту очень странные вопросы podkashey Мировые новости 4 07.07.2006 16:53



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ