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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 27.08.2019, 13:38   #1
volni
Форумчанин
 
Регистрация: 16.03.2019
Сообщений: 188
По умолчанию Не получается сделать связь один ко многим

Здравствуйте, собственно вот код, но выдает ошибку
Код:
CREATE TABLE inmain(
id int unsigned NOT NULL auto_increment,
DocumentNumber varchar(255) NOT NULL,
PRIMARY KEY (id,DocumentNumber)
);

CREATE TABLE incopie(
id int unsigned NOT NULL auto_increment,
DocumentNumber varchar(255) NOT NULL,
CopyData datetime,
PRIMARY KEY (id),
FOREIGN KEY (DocumentNumber) REFERENCES inmain(DocumentNumber)
);
volni вне форума Ответить с цитированием
Старый 27.08.2019, 15:17   #2
Black Fregat
Программист
Участник клуба
 
Аватар для Black Fregat
 
Регистрация: 23.06.2009
Сообщений: 1,772
По умолчанию

Цитата:
Сообщение от volni Посмотреть сообщение
но выдает ошибку
Удивляет такой лаконизм.. Какая СУБД? Какая ошибка?
Black Fregat вне форума Ответить с цитированием
Старый 27.08.2019, 15:29   #3
volni
Форумчанин
 
Регистрация: 16.03.2019
Сообщений: 188
По умолчанию

Цитата:
Сообщение от Black Fregat Посмотреть сообщение
Удивляет такой лаконизм.. Какая СУБД? Какая ошибка?
mysql , делалось в phpmyadmin, но sql запросами.
Я так понял, это самое важное из трансляции ошибки
Код:
190827 15:31:02 Error in foreign key constraint of table my_in/incopie:
FOREIGN KEY (DocumentNumber) REFERENCES inmain(DocumentNumber)
):
Cannot find an index in the referenced table where the
referenced columns appear as the first columns, or column types
in the table and the referenced table do not match for constraint.
Note that the internal storage type of ENUM and SET changed in
tables created with >= InnoDB-4.1.12, and such columns in old tables
cannot be referenced by such columns in new tables.
See http://dev.mysql.com/doc/refman/5.5/en/innodb-foreign-key-constraints.html
for correct foreign key definition.

Последний раз редактировалось volni; 27.08.2019 в 15:31.
volni вне форума Ответить с цитированием
Старый 27.08.2019, 15:41   #4
Black Fregat
Программист
Участник клуба
 
Аватар для Black Fregat
 
Регистрация: 23.06.2009
Сообщений: 1,772
По умолчанию

И что непонятно в этой фразе?
Цитата:
Сообщение от volni Посмотреть сообщение
Cannot find an index in the referenced table where the
referenced columns appear as the first columns
Там действительно нет такого индекса

Похоже, зависит от реализации. Тут https://paiza.io/projects/tGjYKss6wo...language=mysql
выполняет, зато ругается на слишком длинный ключ, пришлось сократить длину полей

Последний раз редактировалось Black Fregat; 27.08.2019 в 15:51.
Black Fregat вне форума Ответить с цитированием
Старый 27.08.2019, 15:57   #5
volni
Форумчанин
 
Регистрация: 16.03.2019
Сообщений: 188
По умолчанию

Цитата:
Сообщение от Black Fregat Посмотреть сообщение
И что непонятно в этой фразе?

Там действительно нет такого индекса

Похоже, зависит от реализации. Тут https://paiza.io/projects/tGjYKss6wo...language=mysql
выполняет, зато ругается на слишком длинный ключ, пришлось сократить длину полей
и что собственно делать? я не очень понимаю=(
volni вне форума Ответить с цитированием
Старый 27.08.2019, 16:12   #6
Black Fregat
Программист
Участник клуба
 
Аватар для Black Fregat
 
Регистрация: 23.06.2009
Сообщений: 1,772
По умолчанию

Попробуйте явно создать этот индекс
Код:
create index i1 on inmain(DocumentNumber);
Если не поможет, покажите вывод команды
Код:
status;
Black Fregat вне форума Ответить с цитированием
Старый 27.08.2019, 16:23   #7
volni
Форумчанин
 
Регистрация: 16.03.2019
Сообщений: 188
По умолчанию

Цитата:
Сообщение от Black Fregat Посмотреть сообщение
Попробуйте явно создать этот индекс
Код:
create index i1 on inmain(DocumentNumber);
Если не поможет, покажите вывод команды
Код:
status;
Помогло,спасибо
volni вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
C# + PostgreSQL. Как сделать связь один ко многим? Ryabinin313 Базы данных (ADO.NET, LinqToSql, ORM Entity Framework, NHibernate) 3 18.08.2015 18:40
Связь один ко многим. Вывод количества "многих" Dexes SQL, базы данных 2 10.10.2012 10:38
Связь "Один ко многим", как лучше реализовать? spamer SQL, базы данных 4 26.03.2012 01:12
Связь "один ко многим"? M17 SQL, базы данных 5 21.10.2009 15:07
связь один ко многим kate158 БД в Delphi 11 19.06.2009 09:13