.....
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)
);
.....
SQL Server 2000 - Поочерёдное создание таблиц
Код:
На это дело ругается таким матом:
Код:
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.
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 и т.д.?
Цитата:
Originally posted by jumperFF
Создаю таблички:
<skipped>
Те же таблички создавал в MySQL - никаких проблем. Можно ли это как-то решить без ALTER TABLE и т.д.?
Создаю таблички:
<skipped>
Те же таблички создавал в MySQL - никаких проблем. Можно ли это как-то решить без ALTER TABLE и т.д.?
С точки зрения реляционной модели, навскидку смысл таблиц, и соответственно, создаваемых ограничений непонятен. MS SQL ругается правильно, без ALTER TABLE тут не обойтись.
Почему MySQL пропускает такие конструкции, непонятно. Есть подозрение, что у него проблемы с реляционным представлением данных.