Изменить данные одной ячейки в MySQL - PullRequest
145 голосов
/ 11 июня 2010

Как я могу изменить данные только в одной ячейке таблицы MySQL.У меня проблема с UPDATE, потому что он изменяет все параметры в столбце, но я хочу изменить только один.Как?

Ответы [ 8 ]

173 голосов
/ 11 июня 2010

Возможно, вам нужно указать, какие строки вы хотите обновить ...

UPDATE 
    mytable
SET 
    column1 = value1,
    column2 = value2
WHERE 
    key_value = some_value;
109 голосов
/ 25 февраля 2012

Мой ответ повторяет то, что говорили другие раньше, но я решил добавить пример, используя MySQL, только потому, что предыдущие ответы были для меня немного загадочными.

Общая формакоманды, которую необходимо использовать для обновления столбца одной строки:

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

И вот пример.

ДО

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

ПОСЛЕ

mysql> select aet,port from ae;
+------------+-------+
| aet        | port  |
+------------+-------+
| DCM4CHEE01 | 11112 | 
| CDRECORD   | 10105 | 
+------------+-------+
2 rows in set (0.00 sec)
29 голосов
/ 11 июня 2010

UPDATE изменит только те столбцы, которые вы специально перечислили.

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

Предложение WHERE ограничивает количество обновляемых строк. Обычно вы используете это для определения значения первичного ключа (или идентификатора) вашей таблицы, чтобы вы обновляли только одну строку.

Предложение SET сообщает MySQL, какие столбцы обновлять. Вы можете перечислить столько столбцов, сколько захотите. Все, что вы не перечислите , не будут обновлены.

10 голосов
/ 11 июня 2010

UPDATE только изменяет указанные вами значения:

UPDATE table SET cell='new_value' WHERE whatever='somevalue'
9 голосов
/ 22 июля 2014

Попробуйте следующее:

UPDATE TableName SET ValueName=@parameterName WHERE
IdName=@ParameterIdName
7 голосов
/ 07 ноября 2017

Таблица обновлений <tablename> SET <COLUMN=VALUE> ГДЕ <CONDITION>

Пример:

UPDATE TABLE teacher SET teacher_name='NSP' WHERE teacher_id='1'
3 голосов
/ 02 мая 2017

попробуйте это.

UPDATE `database_name`.`table_name` SET `column_name`='value' WHERE `id`='1';
0 голосов
/ 25 марта 2012

В некоторых столбцах MySQL есть предложение «при обновлении», см .:

mysql> SHOW COLUMNS FROM your_table_name;

Я не уверен, как обновить это, но опубликую изменения, когда узнаю.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...