如何在不使用update且仅使用select?
的情况下使用php向mysql表添加值我的表格中有一行名为sale
的行。我怎么能用PHP做到这一点?
感谢。
@EDIT:
一个人给我这个,但不适合我:
SELECT saldo + 50 as saldo FROM tabela;
答案 0 :(得分:0)
某些代码会有所帮助,但您不能使用UPDATE将值添加到MySQL表中,UPDATE是UPDATE值。
UPDATE tbl SET sale = 10000 WHERE tbl_id=1;
要插入/添加值,您必须使用INSERT:
INSERT INTO tbl (sale) VALUES (10000);
例如,如果您将数据从一个表中提取到当前表中,则可以使用SELECT:
INSERT INTO tbl (sale) SELECT (sale_scores) FROM tbl2;
或另一种方法是使用SELECT INTO
SELECT * INTO tbl3 FROM tbl;
答案 1 :(得分:0)
您可以使用与REPLACE
具有相同语法的INSERT
,但在唯一键的重合处替换现有行。
示例强>:
之前的表:
| id | name |
| -- | ---- |
| 1 | Nick |
| 2 | John |
运行:REPLACE table_name (id, name) VALUES (2, "Sam")
表后:
| id | name |
| -- | ---- |
| 1 | Nick |
| 2 | Sam |
答案 2 :(得分:0)
就个人而言,我将PDO与一个简单的UPDATE请求一起使用并绑定params。我认为没有必要尝试使用现有的东西来处理并采取一些措施。
以下是我要做的一个例子。
$stmt = $this->conn->prepare("UPDATE `table` SET `saldo` = `saldo` + 50 WHERE `username` = :uname");
$stmt->bindParam(":uname",$username);
$stmt->execute();
答案 3 :(得分:0)
我不认为你可以在没有update语句的情况下更新表。为select或更新或删除提供了过多的数据库权限,因为每个都对表有非常特殊的影响。任何数据库都不太可能允许SELECT语句进行基础更改,除非系统管理员已经设置了触发器或存储过程,否则会产生次要影响。