Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Ошибка Unsuccessful metadata update / 5 сообщений из 5, страница 1 из 1
12.03.2014, 21:24:22
    #38584543
sfire
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка Unsuccessful metadata update
Добрый вечер. При создании БД ошибка. В чем проблема?

автор
CREATE DATABASE 'C:\BD\PRACT5.GDB' USER 'SYSDBA' PASSWORD 'masterkey';
commit;

CREATE TABLE region (
RegId INTEGER NOT NULL PRIMARY KEY,
RegName VARCHAR(128)
);
commit;

CREATE TABLE class (
ClassId INTEGER NOT NULL PRIMARY KEY,
ClassName VARCHAR(128)
);
commit;

CREATE TABLE crime (
CrimeId INTEGER NOT NULL PRIMARY KEY,
ClassId INTEGER,
CrimeName VARCHAR(128),
FOREIGN KEY (ClassId) REFERENCES class (ClassId)
);
commit;

CREATE TABLE infa (
CrimeId INTEGER,
RegId INTEGER,
Yeaar INTEGER,
AccQuant INTEGER,
UncQuant INTEGER,
FOREIGN KEY (CrimeId) REFERENCES class (CrimeId),
FOREIGN KEY (RegId) REFERENCES region (RegId)
);



Ошибка.

автор
Unsuccessful metadata update
could not find UNIQUE INDEX with specified columns
Statement: CREATE TABLE infa (
CrimeId INTEGER,
RegId INTEGER,
Yeaar INTEGER,
AccQuant INTEGER,
UncQuant INTEGER,
FOREIGN KEY (CrimeId) REFERENCES class (CrimeId),
FOREIGN KEY (RegId) REFERENCES region (RegId)
)
...
Рейтинг: 0 / 0
12.03.2014, 21:32:07
    #38584550
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка Unsuccessful metadata update
sfireREFERENCES class (CrimeId)
Читать научись. В том числе то, что пишешь сам. Глаз замылился - пойди поспи. Это лучше,
чем прослыть идиотом на половину мира.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
12.03.2014, 21:32:31
    #38584552
Таблоид
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка Unsuccessful metadata update
sfireДобрый вечер. При создании БД ошибка. В чем проблема?

авторCREATE DATABASE 'C:\BD\PRACT5.GDB' USER 'SYSDBA' PASSWORD 'masterkey';
commit;

CREATE TABLE region (
RegId INTEGER NOT NULL PRIMARY KEY,
RegName VARCHAR(128)
);
commit;

CREATE TABLE class (
ClassId INTEGER NOT NULL PRIMARY KEY,
ClassName VARCHAR(128)
);
commit;

CREATE TABLE crime (
CrimeId INTEGER NOT NULL PRIMARY KEY,
ClassId INTEGER,
CrimeName VARCHAR(128),
FOREIGN KEY (ClassId) REFERENCES class (ClassId)
);
commit;

CREATE TABLE infa (
CrimeId INTEGER,
RegId INTEGER,
Yeaar INTEGER,
AccQuant INTEGER,
UncQuant INTEGER,
FOREIGN KEY (CrimeId) REFERENCES class (CrimeId),
FOREIGN KEY (RegId) REFERENCES region (RegId)
);

Замените "(CrimeId)" на "(ClassId)". Или вообще не указывайте PK-поле, он сам его найдёт.
...
Рейтинг: 0 / 0
12.03.2014, 21:34:51
    #38584556
sfire
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка Unsuccessful metadata update
Таблоид,

Большое спасибо!
...
Рейтинг: 0 / 0
12.03.2014, 22:03:41
    #38584570
kdv
kdv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка Unsuccessful metadata update
sfireCrimeId INTEGER NOT NULL PRIMARY KEY,
не надо так писать. потому что неименованные констрейнты потом запаришься искать.
желательно писать
crimeid int not null constratint pk_tablename primary key
независимо от того, где находится декларация constraint - в столбце при create table, отдельно в create table, или в alter table.
Разумеется, я про ПК, ФК, и прочие констрейнты.
...
Рейтинг: 0 / 0
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Ошибка Unsuccessful metadata update / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]