小编lin*_*ild的帖子

如何在一个MySQL查询中组合两个UPDATE语句?

问候,

如何在一个查询中执行两个UPDATE语句,例如:

UPDATE albums SET isFeatured = '0' WHERE isFeatured = '1'
Run Code Online (Sandbox Code Playgroud)

结合

UPDATE albums SET isFeatured = '1' WHERE id = '$id'
Run Code Online (Sandbox Code Playgroud)

基本上,当一个新专辑被推出时,之前推荐的专辑将切换回正常状态,并将新推出的专辑设置为活动状态.

谢谢!

mysql sql-update

3
推荐指数
3
解决办法
7647
查看次数

扩展现有API:使用默认参数或包装函数?

我有一个现有的方法(或一般的功能),我需要增加其他功能,但我不想在代码中的其他地方使用该方法.例:

int foo::bar(int x)
{
 // a whole lot of code here
 return 2 * x + 4;
}
Run Code Online (Sandbox Code Playgroud)

广泛用于代码库.现在我需要将4转换为参数,但任何已经调用foo :: bar的代码仍然应该接收它所期望的内容.我应该扩展并重命名旧方法并将其包装成新的方法

int foo::extended_bar(int x, int y)
{
 // ...
 return 2 * x + y;
}

int foo::bar(int x)
{
 return extended_bar(x,4);
}
Run Code Online (Sandbox Code Playgroud)

或者我应该在头文件中声明一个默认参数,如

int bar(int x, int y=4);
Run Code Online (Sandbox Code Playgroud)

并只是扩展功能

int foo::bar(int x, int y)
{
 // ...
 return 2 * x + y;
}
Run Code Online (Sandbox Code Playgroud)

每种变体有哪些优缺点?

c++ backwards-compatibility

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

在字段UPDATE如果值已经设置,将其设置为其他内容?

我知道我可以通过几行PHP轻松完成这项工作,但我希望MYSQL中有一个方法可以做到这一点; 我认为有,但我找不到运气.

基本上我想这样做:

UPDATE fieldName SET status='1'
if status='1', SET status='2'
Run Code Online (Sandbox Code Playgroud)

所以第二行显然不是真正的代码,但这就是我想要做的.将字段更新为值,如果该字段已等于该值,则将其更新为其他值.

mysql sql-update

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

表更新时出现SQL语法错误

为什么我在sqlite下的以下SQL语句中出现语法错误?

错误读取:

SQL错误:"SET"附近:语法错误

UPDATE nova
       SET Nome = (select Nome from assessores where nova.ID = assessores.ID),
       SET Morada = (select Morada from assessores where nova.ID = assessores.ID),
       SET Email = (select Email from assessores where nova.ID = assessores.ID),
       SET TelfCasa = (select TelfCasa from assessores where nova.ID = assessores.ID),
       SET TelfEmprego = (select TelfEmprego from assessores where nova.ID = assessores.ID),
       SET Telemovel = (select Telemovel from assessores where nova.ID = assessores.ID),
       SET Fax = (select Fax from assessores where nova.ID …
Run Code Online (Sandbox Code Playgroud)

sqlite syntax-error sql-update

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

MySQL Update语法错误

我需要像这样的MySQL查询:

UPDATE table_name
SET
    1 = 1
WHERE
    ID = 257

但是我得到了语法错误:

You have an error in your SQL syntax; check the manual that corresponds 
to your MySQL server version for the right syntax to use near '1 = 1 
WHERE ID = 257' at line 3

需要执行UPDATE查询而不更新任何内容.有什么解决方案?

mysql sql-update

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

是否有可能在.NET库中实现二进制兼容性?

我在COM中可以看到.NET库,它是从vb6应用程序调用的.

如果我添加一些方法并发布新版本(但不要删除或更改现有方法的签名),我希望能够将它安装在生产机器中,并使其正常工作.但是,似乎这种方法不起作用; 我需要重新编译vb6应用程序.

有没有办法实现这个目标?

.net vb6 interop binary-compatibility

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

API包的语义版本控制

当在API捆绑包中以1.0.0版本的版本开始时,在向所述包添加新接口之后新版本应该是什么?该白皮书使得关于兼容性这一说法:

显然,二进制兼容性在向后兼容性中起着重要作用.但是,向后兼容性也非常依赖于语义.如果接口的责任发生变化,它仍然可以是二进制兼容的,但不再向后兼容.

同时...

3.micro - 微观部分的差异并不表示任何向后兼容性问题

新接口不会导致其提供程序的任何二进制不兼容性 - 很可能只是省略一个实现.这被认为是包的语义中的"向后不兼容"的变化吗?这是否意味着新版本应该是1.1.0?

versioning osgi api-design backwards-compatibility semantics

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

MySQL UPDATE语句超时

以下非常简单的SQL代码段失败:

UPDATE smalltable,bigtable
SET smalltable.ssn=bigtable.ssn
WHERE smalltable.last = bigtable.last && smalltable.first = bigtable.first;
Run Code Online (Sandbox Code Playgroud)

bigtable有16,000条记录 - 对SQL来说并不是那么大.smalltable有大约300.由于某种原因,这个声明超时(> 30秒).为什么?看起来非常简单,并且数据不难处理:不是很多重复,短字段(VARCHAR(20))等.

难道我做错了什么?我只是试图用bigtable中的简单(或者我认为)查找来更新smalltable中的记录.

编辑:非常可能相关:小表是一个LOCAL INFILE.

mysql hang sql-update

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

Java向下兼容性澄清

我需要对JRE做一点澄清.向下兼容吗?我的意思是如果我使用java5开发一个应用程序,如果目标有最新的java6,我的应用程序能够运行吗?

java backwards-compatibility

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

如何更新mysql表,我想为现有表重新生成序列号

我有大约 500 条记录的 mysql 表,以及一些我如何根据我的要求修改我的表的信息。不过,我有一张表,其中包含 (sale_id,cust_id,Sales_desc bla bla) 等字段

我已经为所有 500 行制作了具有一个值('1')的 sale_id 行,,,,,,但是我想从你们那里知道什么,谁能告诉我如何将 sale_id 更新为 1 到 500,,,,,i意思是说我希望这一行应该从 1 到 N 开始,,,,,但是这个表中已经有一些数据了,,,,,我只是想用序列号替换现有的 sale_id 值(1,2,3, 4,5....n) 请帮我解决这个问题...我正在等待...

沙希德 emsoftware.in

mysql sql-update

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