假设有一个 PHP 方法,它应该在每次调用时将几行插入 MySQL 数据库。不幸的是,这些记录代表一个层次结构,我想通过为每个级别添加一个键来保持这个层次结构。一个示例可能如下所示:
id hier_key_1 hier_key_2 value
0 0 0 val1
1 0 0 val2
2 1 0 val3
3 1 0 val4
4 2 1 val5
5 2 1 val6
我目前的解决方案是这样的:
- 在 hier_key_1 表中插入新记录
- 选择这条记录的自增id
- 在 hier_key_2 表中插入新记录
- 选择这条记录的自增id
- 在表中插入记录,所有值和 hier_key_1 和 hier_key_2 作为指向其表的外键
有没有办法简化这一点,即插入方法是否提供任何类型的返回值,包括插入数据的键?或者我应该尝试在我的 PHP 方法中生成唯一键并在之后检查重复项?