标签: sql-update

使用 PHP 在一个 SQL 查询中执行多个 UPDATE

所以我看了一下HERE,但对于我正在做的事情的简单性来说,它似乎有点复杂。最多我会处理一百个要更新的项目(大多数时候它会更像 40 个) )

目前我有这样的东西

$sql_update = '';
for($x = 0; $x < count($nodes); $x++){
  if($nodes[$x]['loaded'] == 'true'){
    if($nodes[$x]['changed'] == 'true'){
        $sql_update .= 'UPDATE `genetic_decomp`.`tbl_node2view` SET `x` = "'.$nodes[$x]['location']['x'].'", `y` = "'.$nodes[$x]['location']['y'].'" WHERE `tbl_node2view`.`id` = "'.$nodes[$x]['id'].'";'; 
        $sql_update .= 'UPDATE `genetic_decomp`.`tbl_nodes` SET `name` = "'.$nodes[$x]['name'].'", `type` = "'.$nodes[$x]['type'].'" WHERE `tbl_nodes`.`node_id` = "'.$nodes[$x]['id'].'";';
    }
  }
}
if($sql_update != ''){
    $sql_result=mysql_query($sql_update,$connection) or exit("Sql Error".mysql_error());
}
Run Code Online (Sandbox Code Playgroud)

现在,当我让它打印出输出echo $sql_update,然后将输出粘贴到 MAMP 中的 SQL 框中时,它工作正常..遍历并更新我想要的两个表中的行

但是,当我运行上面的代码时,它会返回:

Sql Error
You have an error in …
Run Code Online (Sandbox Code Playgroud)

php mysql sql-update

1
推荐指数
1
解决办法
5064
查看次数

PostgreSQL 中的更新顺序

我有一个mysql命令:

 update table_demo SET flag= 1 where flag=0 ORDER BY id ASC LIMIT 10
Run Code Online (Sandbox Code Playgroud)

并且需要在 Postgres 中使用相同的命令,我收到此错误:

错误:语法错误位于或附近'ORDER'

mysql sql postgresql sql-update

1
推荐指数
1
解决办法
2439
查看次数

在 Django 中批量更新(使用唯一值)的方法

假设我有一个包含电子邮件和生日的听写列表:

p = [\
    {'email': 'someone@somewhere.com', 'birthday': '1990-01-01'},
    {'email': 'someone_else@somewhereelse.com', 'birthday': '1980-02-05'},
    #...etc
]
Run Code Online (Sandbox Code Playgroud)

我想更新People数据库中的对象。原始 sql 通常会有与 一样多的查询len(p),所以这让我想到这样做:

from django.db import IntegrityError, transaction
for person in p:
    try:
        with transaction.atomic():
            People.objects.filter(email=person['email']).update(birthday=person['birthday'])
    except IntegrityError:
        #handle the exception
Run Code Online (Sandbox Code Playgroud)

我对 Django 的经验还不够,不知道这是否是一个好的实践。表达我想做的事情最Pythonic的方式是什么?

python django sql-update

1
推荐指数
1
解决办法
2万
查看次数

如何用IDE生成SQL更新语句?

我在开发环境中有这样的表

EMP_ID 名称部门
  1 AA
  2 B BB
  3 C 抄送

我在测试环境中有相同的表,但在 DEPT 列中有空值。无论如何,是否可以根据 EMP_ID 生成更新语句,以便我可以将 DEPT 值从 dev 复制到测试?例如 IDE 应该生成 : update EMPLOYEE set dept='AA' where EMP_ID=1. 我使用 Oracle Sqldeveloper 和 PL/SQL Developer。

sql auto-generate plsqldeveloper oracle-sqldeveloper sql-update

1
推荐指数
1
解决办法
1207
查看次数

mysql 使用同一个表中另一个字段的值更新字段

我有一张这样的表:

----------------------------------
| id | date1      | date2 | type |
----------------------------------
| 1  | NULL       | NULL  | A    |
| 1  | NULL       | NULL  | B    |
| 1  | NULL       | NULL  | A    |
| 1  | NULL       | NULL  | A    |
| 1  | 2016-08-02 | NULL  | C    |
| 1  | NULL       | NULL  | B    |
| 2  | NULL       | NULL  | A    |
| 2  | NULL       | …
Run Code Online (Sandbox Code Playgroud)

mysql sql-update

1
推荐指数
1
解决办法
3900
查看次数

C# - 更新 SQL 表

我想更新我的 sql 表。我在这里搜索并找到了有关如何解决该问题的解决方案。但遗憾的是它只是不会更新数据库。我不知道问题是什么。我检查了 sql 命令几次写错误,但找不到任何错误或修复它们,但遗憾的是仍然没有。我想它在 try 块中,但无法找到它。

这是我的代码:

string connetionString = null;
SqlConnection connection;
SqlCommand command;
string sql = null;
SqlDataReader dataReader;
connetionString = "Data Source=xxx\\xxx;Initial Catalog=xxx;User ID=xxx;Password=xxx";
sql = "UPDATE Employees SET LastName = '" + Lnamestring + "', FirstName = '" + Fnamestring + "', Title = '" + Titelstring + "', TitleOfCourtesy = '" + ToCstring + "', BirthDate = '" + Birthdatestring + "', HireDate = '" + Hiredatestring + "', Address = '" + Adressstring …
Run Code Online (Sandbox Code Playgroud)

c# sql sql-server sql-update

1
推荐指数
1
解决办法
2万
查看次数

TSQL:更新获取更新的行数

我有一个这样的更新语句:

UPDATE TABLE1
SET TABLE1.COL = TABLE2.COL
FROM TABLE1
INNER JOIN TABLE2 ON TABLE1.TAB2ID = TABLE2.ID
WHERE TABLE1.COL1 = '123'`
Run Code Online (Sandbox Code Playgroud)

是否有办法知道实际更新了多少记录的问题。

MERGEOUTPUT $ACTION命令。

t-sql sql-server sql-server-2008 sql-update

1
推荐指数
1
解决办法
3027
查看次数

更新 postgreSQL 首字母大写中的列

postgreSQL 中的更新列如何仅设置第一个字符大写?

例如。测试 ---> 测试

我正在尝试,但不起作用

UPDATE car SET carName=UPPER(LEFT(carName,1)) + LOWER(SUBSTRING(carName,2,LEN(carName)))
Run Code Online (Sandbox Code Playgroud)

sql postgresql sql-update

1
推荐指数
1
解决办法
935
查看次数

房间数据库使用@query 更新多行

我想更新房间数据库中的多行。但我没有对象 - 我只有 ID。

如果我更新一行,我会在我的 DAO 中写这样的内容:

@Query("UPDATE items SET place = :new_place WHERE id = :id;")
fun updateItemPlace(id:Int, new_place:String)
Run Code Online (Sandbox Code Playgroud)

对于多行,我需要这样的东西:

@Query("UPDATE items SET place = :new_place WHERE id = :ids;")
fun updateItemPlaces(ids:List<Int>, new_place:String)
Run Code Online (Sandbox Code Playgroud)

或者

@Query("UPDATE items SET place = :new_place WHERE id IN :ids;")
fun updateItemPlaces(ids:String, new_place:String)
Run Code Online (Sandbox Code Playgroud)

我在我的 ids-String 中写了类似 '(1,4,7,15)' 的内容

有人可以告诉我进行此类更新的好方法吗

因为像

val ids = ListOf(1,4,7,15)
ids.forEach{
    itemDao.updateItemPlace(it,'new place')
}
Run Code Online (Sandbox Code Playgroud)

似乎不是一个好的解决方案

android sql-update kotlin android-room

1
推荐指数
2
解决办法
6406
查看次数

SQL Server 更新:如果参数不为空,则设置列

我有一个存储过程,用于根据列的值是否存在来插入或更新表。这工作正常,除非我只想在传递参数时设置某些列的值。这是因为我不想用 null 覆盖现有的列值。

下面是存储过程的概念:

CREATE PROCEDURE [dbo].[p_SaveState]
   @Foo             nvarchar(50),
   @Bar             nvarchar(20) = null,
   @Something       nvarchar(20) = null
AS
BEGIN
   IF EXISTS (SELECT TOP(1) Foo FROM dbo.[State] WHERE Bar = @Bar)
   BEGIN
       UPDATE [dbo].[State]
       SET Bar = @Bar, 
           Something = @Something
       WHERE (--condition--)
   END
   ELSE
   BEGIN
      ... -- INSERT statement goes here
Run Code Online (Sandbox Code Playgroud)

我正在尝试完成这样的事情:

UPDATE [dbo].[State]
SET Bar = @Bar, 
    IF (@Something IS NOT NULL) Something = @Something
 WHERE (--condition--)
Run Code Online (Sandbox Code Playgroud)

但我不相信我可以使用 CASE,因为我没有在不执行选择的情况下设置原始值。

我怎样才能达到这种效果?

t-sql sql-server sql-update

1
推荐指数
1
解决办法
2595
查看次数