1

我有 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'
4

2 回答 2

1

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

此外,您的 UPDATE 语句在语法上不正确;AND只能在WHEREorHAVING子句中使用,所以我认为您在那里错误地省略了一些东西。

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

于 2013-01-07T19:20:19.590 回答
1

你的 RDBMS 是不可能的。

于 2013-01-07T19:24:59.157 回答