Get foreign keys for database table

3 views (last 30 days)
K K
K K on 30 May 2018
Answered: Piyush Kumar on 29 Oct 2024
Hi,
I have some code that I use with a mysql database backend that uses the importedkeys function. I see that function is marked as "to be removed". This code will obviously break when that function is removed. What is the replacement for it? I don't see anything obvious when reading through the DB Toolbox function list
Thanks,
Kristo
  3 Comments
Guillaume
Guillaume on 30 May 2018
I'm not familiar with mysql but I assume that the tables relationships are stored in a system table. So you should be able to query that table whatever its name is.
K K
K K on 6 Jun 2018
So it sounds like this is not possible going forward?

Sign in to comment.

Answers (1)

Piyush Kumar
Piyush Kumar on 29 Oct 2024
Hi,
To get foreign keys for a table in a MySQL database, you can query the INFORMATION_SCHEMA.KEY_COLUMN_USAGE table. Here's the SQL query you can use:
SELECT
TABLE_NAME,
COLUMN_NAME,
CONSTRAINT_NAME,
REFERENCED_TABLE_NAME,
REFERENCED_COLUMN_NAME
FROM
INFORMATION_SCHEMA.KEY_COLUMN_USAGE
WHERE
TABLE_SCHEMA = 'database_name' AND
TABLE_NAME = 'table_name' AND
REFERENCED_TABLE_NAME IS NOT NULL;
To achieve the same using a MATLAB script,
  • Establish a connection using database function.
  • Execute the above sql query and get the results using fetch function.
  • Close the connection at last using close function.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!