返回所选项目的新价格 80% 当前单价的。此新字段应命名为 New_Price 而原来 unit_price 字段应为名称 old_price .表是 ITEMS 包括 ITEM_ID, TITLE, ARTIST, UNIT_PRICE
80%
New_Price
unit_price
old_price
ITEMS
ITEM_ID, TITLE, ARTIST, UNIT_PRICE
wfveoks01#
最好指定表结构、示例输入和预期输出。根据上面提到的,你可以使用触发器。对于表中的每个条目,mysql服务器将根据指定的条件触发一个查询。您的查询应该如下所示
mysql> CREATE TRIGGER trig_unitPrice AFTER INSERT ON ITEMS FOR EACH ROW SET New_Price= NEW.unit_Price * 0.8;
kgqe7b3p2#
不清楚是要在表中创建新列,还是只想查询表。新建列假设price列类型为 DECIMAL(10,2) ,让我们看看台阶。如果数据类型不同,只需根据列设置进行更改。重命名旧列
DECIMAL(10,2)
ALTER TABLE items CHANGE COLUMN unit_price old_price DECIMAL(10,2) NULL;
创建新列
ALTER TABLE items ADD COLUMN unit_price DECIMAL(10,2) NULL AFTER old_price;
最后,您需要填充这些值
UPDATE items SET unit_price = old_price * 0.8;
查询(无新列)
SELECT item_id, title, artist, unit_price AS old_price, unit_price * 0.8 AS unit_price FROM items;
2条答案
按热度按时间wfveoks01#
最好指定表结构、示例输入和预期输出。
根据上面提到的,你可以使用触发器。对于表中的每个条目,mysql服务器将根据指定的条件触发一个查询。您的查询应该如下所示
kgqe7b3p2#
不清楚是要在表中创建新列,还是只想查询表。
新建列
假设price列类型为
DECIMAL(10,2)
,让我们看看台阶。如果数据类型不同,只需根据列设置进行更改。重命名旧列
创建新列
最后,您需要填充这些值
查询(无新列)