Mysql 确保一个人只能输入一个输入

Mysql 确保一个人只能输入一个输入,mysql,database,ip,Mysql,Database,Ip,我想创建一个网站,只有一个输入,用户名,然后我会使用数据库中的所有用户名,以吸引一个赢家以后 我需要确保一个人只能写一次自己的名字,所有其他条目都将被手动或自动删除,我不在乎,我只需要告诉一个用户是否发布了多个条目 有没有办法做到这一点 我找到了这个解决方案来获取用户的IP Select SUBSTRING_INDEX(host,':',1) as 'ip' From information_schema.processlist WHERE ID=connection_id(); 但

我想创建一个网站,只有一个输入,用户名,然后我会使用数据库中的所有用户名,以吸引一个赢家以后

我需要确保一个人只能写一次自己的名字,所有其他条目都将被手动或自动删除,我不在乎,我只需要告诉一个用户是否发布了多个条目

有没有办法做到这一点

我找到了这个解决方案来获取用户的IP

 Select SUBSTRING_INDEX(host,':',1) as 'ip' 
 From information_schema.processlist 
 WHERE ID=connection_id();

但是,我们可以很容易地使用VPN。还有其他解决方案吗?

实际上有很多解决方案,一个接一个都是无用的,但它们是站在一起的。 正如您所说,您可以使用IP,还可以向Cookie/localStorage添加一些信息,还可以记录用户的浏览器用户代理和一些其他元数据。 关键是收集尽可能多的数据来确定谁是谁
收集的数据越多,稳定性越好。祝你好运

从information_schema.processlist中选择子字符串_INDEXhost,':',1作为“ip”,其中ID=connection_ID;这不是网站用户的IP,而是连接MySQL客户端的IP。。我需要确保一个人只能写一次自己的名字,只需在列名上添加一个唯一的键?他们可以使用不同的名称,那么添加列IP也不是一个好的解决方案。。您可以阻止使用静态IP的用户,但仍有使用动态IP的internet提供商