【发布时间】:2021-01-07 14:43:56
【问题描述】:
我在 mysql 数据库 (mariaDB) 名称 products 和 order 中有 2 个表。
在产品表中有 productid 列,其类型为 int(11) 并设置为主键以及自动增量。虽然订单表有 productid 列的引用
名称是不相同,并且没有使用外键。 order表中的列名设置为pid,类型为varchar。
我想要 products 表中 productid 不存在于 order 表中的所有行。
这个数据库被安卓应用程序和网络应用程序使用。所以像重命名列这样的重大改变是不可行的。
我目前的方法是使用编程。从products 中获取所有productid 的列表,然后在order 表中一一搜索。这需要很多时间,因为表中的产品数量约为 500k
有没有其他方法可以做到这一点?
【问题讨论】:
-
请注意,
order是 MySQL 中的保留字,使其作为表/列标识符的选择很糟糕。如需更多帮助,请参阅meta.stackoverflow.com/questions/333952/…