mysql - 编写 SQL 更新语句

标签 mysql sql

我需要知道如何为以下场景编写SQL语句;

我有一个表格,其中包含 2 列。 ParentNameNo_Of_Kids。假设我们有一个名为父 A 的记录,父 A 有 2 个 child 。(2008 年)

现在在 2011 年, parent A 又有了 3 个 child ,所以我需要更新这张表,说 parent A 总共有 5 个 child 。

UPDATE ParentKidsTable
SET parentName=value, No_Of_kids=??? // (how to write the SQL no. of Kids in 2008 + no. of kids in 2011)
WHERE parentName=some_value

最佳答案

更新表的一般语句是:

UPDATE table
SET field = 'newValue'
WHERE otherfield = 'condition'

所以在你的情况下,这使得:

UPDATE ParentKidsTable
SET No_Of_Kids = 5
WHERE ParentName = 'some_value'

这会将 No_Of_Kids 更新为 5,其中 ParentName 等于 some_value。确保将字符串文字放在撇号之间。

如果您想在现有数量的基础上添加一定数量的 child ,您可以执行以下操作:

UPDATE ParentKidsTable
SET No_Of_Kids = (No_Of_Kids + 3)
WHERE ParentName = 'some_value'

这基本上是简短的(而且更好):

UPDATE ParentKidsTable
SET No_Of_Kids = ((SELECT No_Of_Kids 
                  FROM ParentKidsTable 
                  WHERE ParentName = 'some_value') + 3)
WHERE ParentName = 'some_value'

关于mysql - 编写 SQL 更新语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8756821/

相关文章:

jquery - 手机间隙 : Cannot multiple SQL request in same page

mysql - 在 TypeScript 中导入时“找不到模块”

sql - 使用 T-SQL 创建表 - 在对象资源管理器中看不到创建的表

mysql - 在数据库中设计用户/角色/人员的最佳实践

php mysql - 如何从第一页的链接中获取 ID 和日期?

mysql - 将 MySQL PK 声明为唯一的唯一键

php - 如何使用多个连接从不同的表中选择总和和计数

sql - 如何在 SQL 中将 3 列分组为一列

mysql - 拉维尔 5 : How to dump SQL query?

php - 无法通过 php 表单注册新用户