我需要知道如何为以下场景编写SQL语句;
我有一个表格,其中包含 2 列。 ParentName
和 No_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/