我想查看以前创建的表的引用表。
我有什么:
我在数据库trackcar
中有一个表zone_inout_log
。它包含各个领域。我想查看该表中使用的所有外键的引用。我不知道引用的表。我所拥有的只是使用外键的表 zone_inout_log
,这些列是外键 user_id
、 device_id
、 area_id
等等
我想要什么
我想查看所有引用的表,例如我从哪个表获取user_id和
device_id、
area_id`等。
我尝试过的:
show table status from trackcar;
也尝试过
show create table zone_inout_log;
| zone_inout_log | CREATE TABLE `zone_inout_log` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`user_id` int(11) DEFAULT NULL,
`device_id` int(11) NOT NULL,
`area_id` int(11) NOT NULL,
`lat` float(10,6) DEFAULT NULL,
`lng` float(10,6) DEFAULT NULL,
`date_time` datetime DEFAULT NULL,
`inout_status` varchar(45) DEFAULT NULL,
PRIMARY KEY (`id`),
KEY `user_id` (`user_id`),
KEY `device_id` (`device_id`),
KEY `area_id` (`area_id`),
KEY `lat` (`lat`),
KEY `lng` (`lng`),
KEY `date_time` (`date_time`),
KEY `inout_status` (`inout_status`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 |
但没有获取引用的表名。如果有人可以提出建议吗?
最佳答案
请检查一下-
SELECT constraint_schema,
table_name,
column_name, constraint_name,
referenced_table_schema,
referenced_table_name,
referenced_column_name
FROM information_schema.KEY_COLUMN_USAGE
WHERE referenced_table_schema ='your_db'
AND referenced_table_name ='your_table';
关于mysql - 有谁可以隐藏mysql中的引用吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33233586/