我有一个端点/user
,可为用户创建唯一的UUID。它将数据(phoneno,性别,年龄)插入表(cassandra表),然后将相同的数据与刚刚创建的user_id一起转发到另一个服务器,将MYSQL作为数据库。
现在在我的MySQL中,表格如下。
id(varchar)
phone no
age
gender
etc.
但我已经读过使用VARCHAR作为PK是一个非常糟糕的解决方案。因此我修改了我的表格如下: -
id(interger auto increment)
user_id (varchar unique)
phone no
age
gender
etc.
我有另一个端点/recharge
,其中包含user_id (UUID), recharge_amount, operator, etc.
。
我的充值表如下: -
user_id FK
amount
operator
现在出现的问题是,每当我收到/recharge
的数据时,我需要从Users表中获取用户的相应ID以在充值表中引用它,这是一个额外的操作。即对于每个插入,都会有额外的读操作。
我可以在充值表中引用/使用唯一键作为我的FK。 如果不是,那么可能的解决方案是什么?
答案 0 :(得分:0)
是的,您可以使用唯一键作为外键。 要在其他表中将列用作FK,它必须是PK或唯一键。