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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 04.02.2013, 20:30   #1
plotpam
Новичок
Джуниор
 
Регистрация: 04.02.2013
Сообщений: 1
По умолчанию связывание таблиц

Есть три таблицы в базе. В одной логин и номер счета который я сам создаю, в другой результат запроса по этому номеру счета и сумма, в третьей логин и балланс пользователя. Надо сравнить номер счера в первой и второй таблице и соответственно логин первой и третей таблицы. И обновить поле баланс в третьей таблице (баланс + из поля сумма во второй таблице). Спасибо заранее!
CREATE TABLE IF NOT EXISTS `txn` (
`id` int(10) NOT NULL AUTO_INCREMENT,
`date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
`login` varchar(32) NOT NULL,
`txn` varchar(50) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=100 ;
CREATE TABLE IF NOT EXISTS `otvet` (
`id` int(10) NOT NULL AUTO_INCREMENT,
`date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
`txn` varchar(32) NOT NULL,
`status` varchar(50) NOT NULL,
`amount` float(9,2),
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=100 ;
CREATE TABLE IF NOT EXISTS `user` (
`id` int(10) NOT NULL AUTO_INCREMENT,
`date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
`login` varchar(50) NOT NULL,
`password` varchar(50) NOT NULL,
`balans` float(9,2),
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=100 ;
http://vmesteuspeem.ru
plotpam вне форума Ответить с цитированием
Старый 04.02.2013, 20:39   #2
Sciv
Старожил
 
Аватар для Sciv
 
Регистрация: 16.05.2012
Сообщений: 3,211
По умолчанию

Мне вот кажется, что неправильная у Вашей базы структура. Самое очевидное тому доказательство - то, что поле login сразу в двух таблицах светится. А на кой тогда Id заводили? Далее - баланс, как я понимаю, привязан к счету, а счет к пользователю - так почему бы не создать структуру по схеме:

Пользователь(Id, логин, пароль) <-> Счет(ID, Номер счета, Баланс счета, ID пользователя)

и не путаться в трех таблицах аки в небезызвестных сосенках?
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
Sciv вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
связывание таблиц Defender42 БД в Delphi 0 15.05.2012 12:14
Связывание таблиц Nastya_cutie Microsoft Office Excel 6 06.03.2012 18:04
Связывание таблиц skev48 Microsoft Office Access 7 21.03.2010 23:55
Связывание таблиц stscolt БД в Delphi 0 21.03.2010 11:29
связывание таблиц vaso1983 БД в Delphi 0 17.05.2009 21:33