【问题标题】:Convert INSERT INTO into UPDATE [duplicate]将 INSERT INTO 转换为 UPDATE [重复]
【发布时间】:2017-02-16 07:13:51
【问题描述】:

想象一下我有一些这样的代码:

$sql = "INSERT INTO tablename (column1, column2, column3) VALUES 
('1','2','3')"; 

如何将其转换为 UPDATE 查询?我做了一些搜索,但是

UPDATE table_name 
SET column1=value1,column2=value2,... 
WHERE some_column=some_value;

对我来说没有多大意义。谢谢

【问题讨论】:

  • 那不是sql结构不对
  • 为什么要将此插入查询替换为更新?如果我没记错的话,你有根据条件对记录进行插入和更新的条件吗?
  • 对不起。修复它@MASIDDIQUI
  • 我有这段代码,可以在用户创建帐户时将值插入表中。但是,如果他们想稍后更改他们的详细信息,我认为这将需要一个 UPDATE 查询,对吧? @rahul_m
  • UPDATE tablex SET name='xxx', WHERE id=1;就这样……

标签: php mysql sql


【解决方案1】:

INSERTUPDATE 查询看起来相似,但它们做的事情不同。

Inserts => 将新的不存在的数据插入到表中

更新 => 更新表内的现有数据

这就是 UPDATE 查询有 WHERE 子句的原因

因此,您可以使用 UPDATE 来修改已插入的行。

【讨论】:

  • 我只是对 UPDATE 语法感到困惑,仅此而已。查看这些 cmets,根据我假设将第 1、2 和 3 列的值更新为值 1,2 和 3,如果我错了,请纠正我: $sql = UPDATE tablename SET column1=1,column2 =2,column3=3;
  • 是的,您所做的是正确的。但是不要忘记 WHERE 子句,因为您无法更新不存在的 DATA。
  • @Caspar update 需要 where 子句或其他方式 (stackoverflow.com/questions/30198070) 来更新现有行。但其他方式通常会因性能而变慢
【解决方案2】:

我不知道你到底在问什么,因为你的问题并不清楚。但是根据我的想法,您想知道其中的区别。

更新查询编辑或更新数据库中的数据。像这样

update table_name
set 'name'=something
where 'id'='some_id'

更多示例和练习请转到HERE

Insert 插入查询只是在具有唯一 ID 的表中准确地在数据库中创建一个新数据条目。

HERE 是插入示例的链接。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-04-11
    • 1970-01-01
    • 1970-01-01
    • 2015-04-23
    • 2014-03-22
    • 2015-11-17
    • 2020-03-26
    • 2015-07-30
    相关资源
    最近更新 更多