Note that there are some explanatory texts on larger screens.

plurals
  1. POReferencing foreign keys in the same column
    primarykey
    data
    text
    <p>I'm designing a bd-scheme for mysql. My db stores 3 kinds of points: a, b or c and a path is composed by n pair of points:</p> <p>Route = [ (a1 or b1 or c1 ; a2 or b2 or c2), (a2 or b2 or c2 ; a3 or b3 or c3), ...]</p> <pre><code>create table a_points ( point_id serial not null, owner_id bigint unsigned not null, name varchar(20) not null, primary key (point_id), foreign key (owner_id) references othertable (other_id) ) engine = InnoDB; create table b_points ( point_id serial not null, owner_id bigint unsigned not null, name varchar(20) not null, fields varchar(20) not null, primary key (point_id), foreign key (owner_id) references othertable (owner_id) ) engine = InnoDB; create table c_points ( point_id serial not null, name varchar(20) not null, cfields varchar(20) not null, primary key (point_id) ) engine = InnoDB; create table paths ( path_id serial not null, name varchar(20) not null, primary key (path_id) ) engine = InnoDB; create table point_pairs ( pair_id serial not null, path_id bigint unsigned not null, point_from bigint unsigned not null, point_to bigint unsigned not null, table_from varchar(9) not null, table_to varchar(9) not null, primary key (pair_id), foreign key (path_id) references paths (path_id) ) engine = InnoDB; </code></pre> <p>(*) a pair of point is (m, n) or from m to n</p> <p>So I'm storing pair of points together with their path's id. My problem is that I had to create two columns identifying the tables' name of m and n. table_from for m and table_to for n. Thus I'd have to use these two columns in my code to know what kind of points are saved in a route (path and point_pairs table). My question: Does MySql provide something for referencing n foreign keys in the same column? I already thought about joining a, b and c point tables but I'd have to add a type column to this new table and my php classes would become useless.</p> <p>Thanks in advance!</p>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload