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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 28.07.2012, 20:57   #1
Русtam
Пользователь
 
Регистрация: 27.06.2011
Сообщений: 60
По умолчанию sql ограничения

Привет! помогите разобраться!
Стоит задача создать две таблицы, зависящие друг от друга. Точнее мне
нужно что бы в таблицу 2 нельзя было добавить больше записей чем есть в таблице 1 и плюс ко всему нужно что бы первые столбцы обеих таблиц были идентичны, то есть их значения были идентичными.

Вот моя реализация этой задачи , НО она не работает. Делал все по книги, хотя может я что то не так понял!

Первая таблица
PHP код:
CREATE TABLE pers(
account SMALLINT UNSIGNED,
name TEXT ,
lname TEXT ,
POL ENUM ("M","W"),
CONSTRAINT pk_pers PRIMARY KEY (account)
); 
Вторая таблица
PHP код:
CREATE TABLE accon (
account SMALLINT UNSIGNED,
balace FLOAT default 0,
CONSTRAINT pk_accon PRIMARY KEY(account),
CONSTRAINT pk_acc_forg FOREIGN KEY(account)
REFERENCES  pers (account
); 
Дело в том что, после создания таблиц я могу добавлять во вторую таблицу столько записей сколько захочу, то есть количество записей не ограничивается количеством записей в первой таблице.
Надеюсь объяснил понятно.
Спасибо!
Запостил SQL как php извиняюсь если сделал не правильно!

Последний раз редактировалось Русtam; 28.07.2012 в 20:59.
Русtam вне форума Ответить с цитированием
Старый 28.07.2012, 21:45   #2
Cronos20
Форумчанин
 
Регистрация: 08.07.2010
Сообщений: 679
По умолчанию

Какая база данных ? mysql ? может тип таблиц по умолчанию myisam ? тогда там внешние ключи вообще игнорируются. Явно указывайте при создании InnoDB. Поставьте для столбца с foreign key - NOT NULL (от вашей проблемы не поможет, но исключит возможность пустых записей).
А вообще, что-то у вас не то с проектированием БД
Cronos20 вне форума Ответить с цитированием
Старый 28.07.2012, 22:14   #3
Русtam
Пользователь
 
Регистрация: 27.06.2011
Сообщений: 60
По умолчанию

Цитата:
Какая база данных ?
Да mysql.
Цитата:
А вообще, что-то у вас не то с проектированием БД
это просто для обучения и закрепления пройденного материала.

InnoDB - это что то вроде типа таблицы я так понял.
Спасибо попробую проверить тип таблицы и установить рекомендуемый.
Русtam вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ограничения или диапазоны hasana Общие вопросы C/C++ 2 13.01.2011 19:49
SQL. Создание ограничения на ввод werser SQL, базы данных 3 10.12.2010 21:47
ограничения на размер массива? LOST94 Общие вопросы C/C++ 4 29.03.2010 09:50
Ограничения Flatterer Фриланс 1 08.03.2010 20:16
Ограничения панели инструментов wnuks Microsoft Office Excel 5 01.07.2008 22:39