Mysql 如何将不同的项目类型划分到不同的表中

Mysql 如何将不同的项目类型划分到不同的表中,mysql,Mysql,我对基于sql的数据库相当陌生,我尝试实现的是一个库存系统,其中每个用户可以拥有无限数量的项目,其中包含20多种项目类型。 我现在正在尝试的是: 有一个items表,其中我跟踪用户拥有的所有项目 创建表项( id INT自动递增主键, 表_name VARCHAR(255)不为空, item_id INT不为空, 用户id INT不为NULL ) 在请求获取所有项目时,我从items表中选择具有用户id的items,然后为每个表名选择SELECT,最后为每个项目类型选择ing(比如每个用户10

我对基于sql的数据库相当陌生,我尝试实现的是一个库存系统,其中每个用户可以拥有无限数量的项目,其中包含20多种项目类型。 我现在正在尝试的是:

有一个
items
表,其中我跟踪用户拥有的所有项目

创建表项(
id INT自动递增主键,
表_name VARCHAR(255)不为空,
item_id INT不为空,
用户id INT不为NULL
)
在请求获取所有项目时,我从
items
表中选择具有用户id的
items,然后为每个表名选择
SELECT
,最后为每个项目类型选择
ing(比如每个用户10-20个查询)如果我想删除一个项目,我必须为两个表删除它,这是一种痛苦,我真的认为有更好的方法(我只要求每个表一次,但仍然)

非常感谢您的帮助

使用动态表名通常是糟糕的设计。在查询表名时不能使用变量,除非您编写了动态创建查询的存储过程。动态信息应该在表内容中,而不是在表和列名中。@Barmar我同意,这也是我的问题之一,你有什么建议吗?对项目属性使用属性值表。使用动态表名通常是糟糕的设计。除非编写动态创建查询的存储过程,否则不能在查询表名时使用变量。动态信息应该在表内容中,而不是在表和列名中。@Barmar我同意,这也是我的问题,您有什么建议?使用属性值表作为项属性。