在mysql中更改一个单元格的数据

时间:2010-06-11 16:39:50

标签: mysql sql-update

如何只更改mysql表的一个单元格中的数据。 我有UPDATE的问题,因为它使列中的所有参数都发生了变化,但我只想更改一个。怎么样?

8 个答案:

答案 0 :(得分:168)

您可能需要指定要更新的行...

UPDATE 
    mytable
SET 
    column1 = value1,
    column2 = value2
WHERE 
    key_value = some_value;

答案 1 :(得分:107)

我的回答是重复其他人之前说过的话,但我想我会使用MySQL添加一个例子,因为之前的答案对我来说有点神秘。

更新单行列时需要使用的命令的一般形式:

UPDATE my_table SET my_column='new value' WHERE something='some value';

这是一个例子。

<强> BEFORE

mysql> select aet,port from ae;
+------------+-------+
| aet        | port  |
+------------+-------+
| DCM4CHEE01 | 11112 | 
| CDRECORD   | 10104 | 
+------------+-------+
2 rows in set (0.00 sec)

进行更改

mysql> update ae set port='10105' where aet='CDRECORD';
Query OK, 1 row affected (0.00 sec)
Rows matched: 1  Changed: 1  Warnings: 0

<强> AFTER

mysql> select aet,port from ae;
+------------+-------+
| aet        | port  |
+------------+-------+
| DCM4CHEE01 | 11112 | 
| CDRECORD   | 10105 | 
+------------+-------+
2 rows in set (0.00 sec)

答案 2 :(得分:29)

UPDATE只会更改您专门列出的列。

UPDATE some_table
SET field1='Value 1'
WHERE primary_key = 7;

WHERE子句限制更新哪些行。通常,您可以使用它来标识表的主键(或ID)值,这样您只能更新一行。

SET子句告诉MySQL要更新哪些列。您可以根据需要列出任意数量的列。任何未列出的内容都不会更新。

答案 3 :(得分:9)

UPDATE仅更改您指定的值:

UPDATE table SET cell='new_value' WHERE whatever='somevalue'

答案 4 :(得分:8)

尝试以下方法:

UPDATE TableName SET ValueName=@parameterName WHERE
IdName=@ParameterIdName

答案 5 :(得分:6)

更新表 <tablename> 设置 <COLUMN=VALUE> WHERE <CONDITION>

示例:

UPDATE TABLE teacher SET teacher_name='NSP' WHERE teacher_id='1'

答案 6 :(得分:2)

试试这个。

UPDATE `database_name`.`table_name` SET `column_name`='value' WHERE `id`='1';

答案 7 :(得分:0)

MySQL中的一些列有一个“on update”子句,请参阅:

mysql> SHOW COLUMNS FROM your_table_name;

我不知道如何更新此内容,但会在发现时发布修改。