powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Уникальный id поля для нескольких таблиц?
7 сообщений из 7, страница 1 из 1
Уникальный id поля для нескольких таблиц?
    #39007432
manking
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как лучше реализовать?

Таблица 1
id_сотрудника
id_объекта
имя


Таблица 2
id_товара
id_объекта
название

Таблица 3
id_автомобиля
id_объекта
марка


Таблица 4 хранит уникальный id объекта
id_объекта
время_перепроверки_информации
напоминать


Нужно чтобы при добавлении записи в таблицы 1-3, id_объекта был уникален для всех записей во всех таблицах.
У каждой таблицы свой primary key, нужен автоинкремент для поля id_объекта.
...
Рейтинг: 0 / 0
Уникальный id поля для нескольких таблиц?
    #39007434
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Напрямую - никак.
Варианты:
1) Для генерации id использовать отдельную таблицу с единственным полем.
2) Блокировать все таблицы, брать максимум, прибавлять единицу. (Сильно замедлит модификацию данных).
...
Рейтинг: 0 / 0
Уникальный id поля для нескольких таблиц?
    #39007435
Фотография Relic Hunter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GUID бредогенератор.
...
Рейтинг: 0 / 0
Уникальный id поля для нескольких таблиц?
    #39007451
alex564657498765453
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
:) самый хороший ответ - это самый простой ответ!

таблица 1-3 содержит данные, таблица 4 айди обьекта и дату последней проверки....

%ля буду, при вставке нового обьекта в таблицу 1 или 2 или 3 - его дата создания совпадает с датой последней проверки данных!!!

вставлять сначала запись в таблицу 4 (айди автоинкремент) потом вставлять в нужную из 3ёх
...
Рейтинг: 0 / 0
Уникальный id поля для нескольких таблиц?
    #39007577
Pallaris
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Когда одно поле таблицы ссылается на записи из разных таблиц, то это называется первая паранормальная форма. Так делать нельзя.
Вместо этого можно сделать так: таблица запланированных проверок (дата-время, напоминать), в каждую Таблицу1,2,3 добавить ссылку на запись из этой таблицы.
Либо в таблицу проверок добавить отдельные поля для ссылок на каждую таблицу 1,2,3.
Либо на каждую таблицу1,2,3 создать отдельную таблицу проверок.
...
Рейтинг: 0 / 0
Уникальный id поля для нескольких таблиц?
    #39008194
Cygapb-007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mankingКак лучше реализовать?
Таблица 4 хранит уникальный id объекта
Нужно чтобы при добавлении записи в таблицы 1-3, id_объекта был уникален для всех записей во всех таблицах.
У каждой таблицы свой primary key, нужен автоинкремент для поля id_объекта.
http://sqlfiddle.com/#!9/03676/1
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
create table sotr(
  id int auto_increment primary key,
  obj int unique
  );
create table prod(
  id int auto_increment primary key,
  obj int unique
  );
create table obj(
  type_id int primary key,
  id int 
  );
insert obj values(1,1);

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
create trigger TR_sotr_BI
before insert on sotr
for each row begin 
  declare v_obj int;
  select id into v_obj from obj where type_id=1 for update;
  update obj set id=id+1;
  set new.obj=v_obj;
end
//
create trigger TR_prod_BI
before insert on prod
for each row begin 
  declare v_obj int;
  select id into v_obj from obj where type_id=1 for update;
  update obj set id=id+1;
  set new.obj=v_obj;
end
//

Код: sql
1.
2.
3.
4.
insert sotr () values (),();
insert prod () values ();
insert sotr () values ();
insert prod () values ();


select * from sotr;id obj1 12 23 4select * from prod;id obj1 32 5select * from obj;
type_id id1 6
...
Рейтинг: 0 / 0
Уникальный id поля для нескольких таблиц?
    #39008196
Cygapb-007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
эх, про WHERE в UPDATE забыл... ну да ладно, не суть)
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Уникальный id поля для нескольких таблиц?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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