Как вычесть все цены в таблице MySQL только с SQL? - PullRequest
1 голос
/ 23 февраля 2009

Я играл со следующим, но его пока нет.

ALTER TABLE `product_price` CHANGE `price` = `price` - 20;

Ответы [ 2 ]

13 голосов
/ 23 февраля 2009

То, что вы ищете, это:

UPDATE product_price SET price = price - 20;

Итак, если ваши данные выглядят так:

| id | price         |
|----|---------------|
| 1  | 25.20         |
| 2  | 26.50         |
| 3  | 27.00         |
| 4  | 24.25         |

Это превратит это в:

| id | price         |
|----|---------------|
| 1  | 5.20          |
| 2  | 6.50          |
| 3  | 7.00          |
| 4  | 4.25          |

Как указал Техван в ваших комментариях, ALTER используется, когда вы хотите изменить структуру таблицы. Из документов:

ALTER TABLE позволяет вам изменить структуру существующей таблицы. Например, вы можете добавлять или удалять столбцы, создавать или уничтожать индексы, изменять тип существующих столбцов или переименовывать столбцы или саму таблицу. Вы также можете изменить комментарий к таблице и тип таблицы.

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

0 голосов
/ 23 февраля 2009

Как упоминал Паоло Бергантино, вы пытались изменить структуру таблицы, а не данные , содержащиеся в ней. SQL состоит из разных частей, каждая из которых отвечает за что-то свое. Для определения ваших структур данных (таблиц, представлений и т. Д.) Вы используете DDL (язык определения данных). С другой стороны, для манипулирования данными используется DML (язык манипулирования данными).

Этот сайт показывает различные части SQL вместе с примерами.

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