Jak mogę zmienić dane tylko w jednej komórce tabeli mysql. Mam problem z UPDATE, ponieważ powoduje zmianę wszystkich parametrów w kolumnie, ale chcę zmienić tylko jeden. W jaki sposób?
Jak mogę zmienić dane tylko w jednej komórce tabeli mysql. Mam problem z UPDATE, ponieważ powoduje zmianę wszystkich parametrów w kolumnie, ale chcę zmienić tylko jeden. W jaki sposób?
Odpowiedzi:
Prawdopodobnie musisz określić, które wiersze chcesz zaktualizować ...
UPDATE
mytable
SET
column1 = value1,
column2 = value2
WHERE
key_value = some_value;
UPDATE mytable SET column1 = new_value WHERE column1 = old_value;
??
Moja odpowiedź to powtórzenie tego, co inni powiedzieli wcześniej, ale pomyślałem, że dodam przykład, używając MySQL
tylko dlatego, że poprzednie odpowiedzi były dla mnie trochę tajemnicze.
Ogólna postać polecenia, którego należy użyć do zaktualizowania kolumny w jednym wierszu:
UPDATE my_table SET my_column='new value' WHERE something='some value';
A oto przykład.
PRZED
mysql> select aet,port from ae;
+------------+-------+
| aet | port |
+------------+-------+
| DCM4CHEE01 | 11112 |
| CDRECORD | 10104 |
+------------+-------+
2 rows in set (0.00 sec)
DOKONYWANIE ZMIANY
mysql> update ae set port='10105' where aet='CDRECORD';
Query OK, 1 row affected (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 0
PO
mysql> select aet,port from ae;
+------------+-------+
| aet | port |
+------------+-------+
| DCM4CHEE01 | 11112 |
| CDRECORD | 10105 |
+------------+-------+
2 rows in set (0.00 sec)
UPDATE
zmieni tylko kolumny, które wymienisz.
UPDATE some_table
SET field1='Value 1'
WHERE primary_key = 7;
Te WHERE
limity klauzula które wiersze są aktualizowane. Zwykle używa się tego do zidentyfikowania wartości klucza podstawowego (lub identyfikatora) tabeli, tak aby aktualizować tylko jeden wiersz.
SET
Klauzula mówi MySQL, które kolumny do aktualizacji. Możesz podać dowolną liczbę lub kilka kolumn. Wszystko, czego nie wymienisz , nie zostanie zaktualizowane.
Spróbuj wykonać następujące czynności:
UPDATE TableName SET ValueName=@parameterName WHERE
IdName=@ParameterIdName
@parameterName
służy?
Spróbuj tego.
UPDATE `database_name`.`table_name` SET `column_name`='value' WHERE `id`='1';
Niektóre kolumny w MySQL mają klauzulę „on update”, zobacz:
mysql> SHOW COLUMNS FROM your_table_name;
Nie jestem pewien, jak to zaktualizować, ale opublikuję zmianę, gdy się dowiem.