SQL结合3个语句;可能吗?

时间:2013-01-07 19:11:46

标签: mysql sql sql-update sql-insert

我有3个陈述,我想合并为一个;只是这样我才能学到这样做呢?

插入

INSERT INTO plants (name, latin_name, type, stock, price, flower_colour, foilage_colour, features, sun_exposure, soil_type, hardiness, competance, height, spread, description, flowering_season)
VALUES
(dandelion, `Taraxacum officinale`, weed, 12, 1.99, white, green, flower, `full sun`, alkaline, `annual hardy`, low, 12cm, 7cm, d, summer)

更新

UPDATE plants SET flower_colour='white', soil_type='clay', height='15cm', spread='4cm', description='Weed' AND price='£1.99'

删除

DELETE FROM plants WHERE name='dandelion' AND type='weed'

2 个答案:

答案 0 :(得分:1)

我要问的第一个问题是“你为什么要这样做”?根据您的示例,您插入,更改然后删除条目。除非有隐藏的逻辑,例如触发器更新数据的其他元素,否则数据层的状态不会因执行这三个命令而发生变化。

此外,您的UPDATE语句在语法上不正确; AND只能用于WHEREHAVING子句,因此我认为您错误地忽略了这些内容。

实际上没有任何方法可以将插入,更新和删除组合到一个命令中。您通常可以将所有三个命令作为一个“脚本”从您正在使用的任何代码层发送,或者将这些SQL命令封装到存储过程中并执行该命令,但每个语句都会对基础数据执行非常不同的操作,这就是为什么它们'重新开始不同的命令。

答案 1 :(得分:1)

你不可能RDBMS。