Php 使用case将数据插入临时mysql表
考虑以下示例表:Php 使用case将数据插入临时mysql表,php,mysql,mysqli,Php,Mysql,Mysqli,考虑以下示例表: CREATE TABLE items (`id` int, `productName` varchar(7), `price_new` decimal(10,2), `price_used` varchar(55)) ; INSERT INTO items (`id`, `productName`, `price_new`, `price_used`) VALUES (1, 'cup', 10.50, 5.50), (2, 'plate', 9
CREATE TABLE items
(`id` int, `productName` varchar(7), `price_new` decimal(10,2), `price_used` varchar(55))
;
INSERT INTO items
(`id`, `productName`, `price_new`, `price_used`)
VALUES
(1, 'cup', 10.50, 5.50),
(2, 'plate', 9.50, 4.50),
(3, 'mug', 8.50, 3.50)
;
对于一个应用程序,我希望根据用户拥有的内容创建一个临时表。
用户会说一个条件为“新”的“杯子”。(存储在php数组中)
我想要的临时表如下所示:
CREATE TEMPORARY TABLE IF NOT EXISTS tempTable (
`id` INTEGER NOT NULL AUTO_INCREMENT PRIMARY KEY,
`name` varchar(7) NULL,
`itemCondition` varchar(7) NULL,
`price` decimal(10,2) NULL
);
我的问题是:
如果我创建了这个临时表,我如何插入'cup'和'new',MySQL根据itemCondition从items表中选择价格?
伪代码:
Insert:
(1, 'cup', (
if itemCondition == 'new'
(select Items.price_new where items.productName = 'cup')
ELSE
(select Items.price_used where items.productName = 'cup')
谢谢你的帮助 问题在于,除非将数据插入到可诱惑的字段中,否则sql将不知道imtemCondition字段的值。值“new”在insert语句本身中作为固定值提供 您需要存储过程根据参数值选择价格,然后将该价格插入临时表,或者您可以使用php实现相同的逻辑 步骤:
谢谢,我想可能是这样的。。。但我希望不是这样。