mysql - 如何给用户添加积分行?

标签 mysql sql database points

我正在尝试将积分行添加到我网站上的当前用户表中,但当我执行操作时,我不断收到错误#1062 - 键“PRIMARY”的重复条目“10”尝试将所有用户的默认分数设置为 10。当两个用户最终达到相同的 150 分等时,我发现这是一个问题。以下是我的表格的设置

enter image description here

enter image description here

enter image description here

这是我的查询

<?php

session_start();
$db = mysqli_connect("host", "username", "password", "db_name");

$username = $_SESSION['username']; 

mysqli_query($db, 'UPDATE login_users SET Points=Points+1 WHERE username=$username');


?>

有什么想法可以允许相同的数字存储在点行中吗?看起来它把它当作一个“ID”而不仅仅是一个数字。谢谢!

最佳答案

看起来您在 Points 列上有一个 UNIQUE 索引,因此您可能应该删除它,因为这没有任何意义。

您可能想要粘贴 SHOW CREATE TABLE login_users 的结果,而不是您使用的数据库编辑器的屏幕截图。

关于mysql - 如何给用户添加积分行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13077875/

相关文章:

mysql - SQL - 创建一个返回表行的函数

mysql - id 和 subid 上的订单

php - 使用 PHP 备份 MySql 数据库

MySQL 使用正则表达式删除特殊字符

MySQL:将日期列转换为年份列

mysql - 在重复键更新语法上仍然重复我的数据

java - mysql- ERROR - 你的 SQL 语法有错误;查看与您的 MySQL 服务器版本对应的手册,以了解在附近使用的正确语法

如果用户名已被使用,jQuery 检查 mysql 数据库

mysql - 使用 mysql 连接表最快的方法是什么

sql - 日期列作为主键一部分的优缺点