Php 查询以插入或在需要时更新记录
如何制定查询,使其能够: 1.能够插入姓名和货币价值 2.如果所述名称已存在,则只应通过将其值与从表单中获取的值相加来更新money列。 尝试使用:Php 查询以插入或在需要时更新记录,php,mysql,sql,Php,Mysql,Sql,如何制定查询,使其能够: 1.能够插入姓名和货币价值 2.如果所述名称已存在,则只应通过将其值与从表单中获取的值相加来更新money列。 尝试使用: +----------------+-----------+ |name(varchar)PK |money(int) | +----------------+-----------+ 它满足第一个要求,但在更新money列时,它只是用新值替换旧值,而不添加它们 以下是完整的代码草稿版本: REPLACE INTO practa
+----------------+-----------+
|name(varchar)PK |money(int) |
+----------------+-----------+
它满足第一个要求,但在更新money列时,它只是用新值替换旧值,而不添加它们
以下是完整的代码草稿版本:
REPLACE INTO practable SET name = '$name', money = 'money' + $amount
尝试插入。。。在重复密钥更新时:
我假设变量$name和$amount已正确转义请尝试插入。。。在重复密钥更新时:
我假设您的变量$name和$amount已正确转义请尝试省去钱上的变量。这将使它成为一个colmmn,而不是一个字符串试着省去钱的问题。这将使它保持为一个colmmn,而不是一个字符串您正在查找语法 从文件中:
INSERT INTO practable(name,money) VALUES('$name',$amount) ON DUPLICATE KEY UPDATE
name = '$name', money = `money` + $amount
您正在查找语法
从文件中:
INSERT INTO practable(name,money) VALUES('$name',$amount) ON DUPLICATE KEY UPDATE
name = '$name', money = `money` + $amount
试试这个:
INSERT INTO table (a,b,c) VALUES (1,2,3)
ON DUPLICATE KEY UPDATE c=c+1;
UPDATE table SET c=c+1 WHERE a=1;
试试这个:
INSERT INTO table (a,b,c) VALUES (1,2,3)
ON DUPLICATE KEY UPDATE c=c+1;
UPDATE table SET c=c+1 WHERE a=1;
如果主键存在,则Replace将删除旧行,因此您将不添加任何内容。如果主键存在,则Replace将删除旧行,因此您将不添加任何内容。您是否尝试过:Replace to Practiable SET name='$name',money=Calleey,$amount顺便问一下。你的代码非常危险!它允许SQL注入攻击。请仔细阅读SQL注入。。。看:我知道,这是初稿:无论如何,谢谢!您是否尝试过:替换为实用的集合名称=“$name”,money=coursey,$amount。你的代码非常危险!它允许SQL注入攻击。请仔细阅读SQL注入。。。看:我知道,这是初稿:无论如何,谢谢!