MySql数据库插入数据

MySql数据库插入数据,mysql,database,Mysql,Database,我有一个MySQL数据库,有9个表,每个表都有一个id,带有主键集和自动递增,一行用于数据,一个表我们称它为“X”,这个数据库中还有一个主键和一行用于数据,其他表中的所有主键都作为外键,问题是,我是否可以不按其他表的id而是按数据行插入到“X”表中,例如,一些其他表的id->3和数据:apple,我是否可以插入id为3的“apple”,而不是从数据行中插入id为3的“apple”?否,mysql不是可以执行此操作的ms access。您可以在mysql中实现导入功能,甚至在另一种编程语言中实现G

我有一个MySQL数据库,有9个表,每个表都有一个id,带有主键集和自动递增,一行用于数据,一个表我们称它为“X”,这个数据库中还有一个主键和一行用于数据,其他表中的所有主键都作为外键,问题是,我是否可以不按其他表的id而是按数据行插入到“X”表中,例如,一些其他表的id->3和数据:apple,我是否可以插入id为3的“apple”,而不是从数据行中插入id为3的“apple”?

否,mysql不是可以执行此操作的ms access。您可以在mysql中实现导入功能,甚至在另一种编程语言中实现GUI,通过在另一个表中查找值“apple”将其转换为外键3。这正是ms access在后台为您所做的。

您可以在一个步骤中选择和插入值:

插入X个水果标识。。。 值从水果中选择水果_id,其中水果='苹果'。。。; 这将插入苹果的果实id

基于i486s注释,您还可以直接插入选择结果:

插入X水果id、表格B\U id、表格C\U id、数据字段 选择水果id、b.tableb\U id、c.tablec\U id、“一些数据” 来自水果a、表b、表c 其中a.fruit='apple', 和b.tableb_data='来自tableb的一些数据' 和c.tablec_data=‘来自tablec的一些数据’;
为什么需要值从水果中选择水果id。。。当相同的内容可以写得更短时:插入X fruit_id,。。。选择水果标识。。。从水果中,水果=苹果。我也想到了你的解决方案。但是表X中有9个FK,因此您可能会交叉连接所有这9个表。虽然它也可以很好地工作,但我觉得它不是一个合适的解决方案。