我有一个端点/user,它为用户创建一个唯一的UUID。它将数据(phoneno、性别、年龄)插入到表(cassandra表)中,然后将相同的数据连同刚刚创建的user_id一起转发到另一个服务器,将MYSQL作为DB。
在我的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的数据时,我都需要从user表中获取用户的相应id,以便在Re充电表中引用它,这是一个额外的操作。每插入一次,就会有一个额外的读取操作。
我可以引用/使用唯一的键作为我的FK在充电表中。如果不是,那么可能的解决方案是什么?
发布于 2015-04-28 06:41:29
是的,您可以使用唯一的键作为外键。若要将列用作其他表中的FK,则必须是PK或唯一键。
https://stackoverflow.com/questions/29911845
复制相似问题