编写SQL Update语句

时间:2012-01-06 11:00:27

标签: mysql sql

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

我有一张表,由2列组成。 ParentNameNo_Of_Kids。所以说我们有一个名为父A的记录,而父A有两个孩子。(2008年)

现在2011年,家长A又有3个孩子,所以我需要更新此表,说父母A共有5个孩子。

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

3 个答案:

答案 0 :(得分:2)

更新表的一般声明是:

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。确保将字符串文字放在撇号之间。

如果您想为现有号码添加一定数量的孩子,您可以这样做:

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'

答案 1 :(得分:2)

增加孩子数:

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

答案 2 :(得分:1)

我假设您正在寻找添加N个孩子的一般情况,因此您不必首先查找No_Of_Kids值,在这种情况下您可以这样做:

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