如果主键在同一个表中用作外键,如何添加数据?

时间:2014-10-23 06:50:03

标签: mysql database erd

我正在实施一个推荐系统,在该系统中,用户可以成为我系统之前注册用户的参考,或者可以手动注册而无需任何参考。我面临的问题是,如果用户没有使用引用令牌进行注册,那么用户的裁判就是该用户本身。如何在获取该行的主键(来自自动增量方法)之前保存用户的数据(外键)?为了获得更多许可,我附上了这张图片。enter image description here

提前致谢。

1 个答案:

答案 0 :(得分:2)

一种方法是在插入之前自动生成密钥,而不是使用自动增量功能。最简单的方法是将ID列定义为uuid而不是int,并从应用程序生成下一个ID。

更好的是,恕我直言,是改变你的设计,而不是使用用户作为他自己的推荐,以防他没有被另一个用户引用,只是明确说明他没有推荐并使用{{ 1}}那里的价值。