Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

SQL Server 2000 - Поочерёдное создание таблиц

2.1K
25 мая 2004 года
jumperFF
23 / / 22.03.2004
Создаю таблички:

Код:
.....
CREATE TABLE Roles (
    roles_id        BIGINT NOT NULL IDENTITY(1,1),
    roles_user_id   SMALLINT NOT NULL,
    roles_role_id   SMALLINT NOT NULL,
   
    PRIMARY KEY (roles_id),
    UNIQUE (roles_user_id, roles_role_id),
    FOREIGN KEY (roles_role_id)     REFERENCES Role (role_id),
    FOREIGN KEY (roles_user_id)     REFERENCES MKUser (mkuser_id)
);


CREATE TABLE MKUser (
    mkuser_id         SMALLINT NOT NULL IDENTITY(1,1),
    mkuser_name       VARCHAR(70) NOT NULL,
    user_roles      INTEGER NOT NULL DEFAULT 0,
   
    PRIMARY KEY (mkuser_id),
    FOREIGN KEY (user_roles)        REFERENCES Roles (roles_id)
);
.....



На это дело ругается таким матом:
 
Код:
Server: Msg 1767, Level 16, State 1, Line 9
Foreign key 'FK__Roles__roles_use__0FEC5ADD' references invalid table 'MKUser'.
Server: Msg 1750, Level 16, State 1, Line 9
Could not create constraint. See previous errors.


Те же таблички создавал в MySQL - никаких проблем. Можно ли это как-то решить без ALTER TABLE и т.д.?
10
13 июня 2004 года
Freeman
3.2K / / 06.03.2004
Цитата:
Originally posted by jumperFF
Создаю таблички:
<skipped>
Те же таблички создавал в MySQL - никаких проблем. Можно ли это как-то решить без ALTER TABLE и т.д.?


С точки зрения реляционной модели, навскидку смысл таблиц, и соответственно, создаваемых ограничений непонятен. MS SQL ругается правильно, без ALTER TABLE тут не обойтись.
Почему MySQL пропускает такие конструкции, непонятно. Есть подозрение, что у него проблемы с реляционным представлением данных.

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог