当SQL做一个INSERT
更新一个值,是有可能做这样的事情取决于其他值在SQL
INSERT INTO myTable VALUES
('Superman', 100,
'[this value will be either 'Good' or 'bad' depending if the previous row is less than or greater than 100]')
当SQL做一个INSERT
更新一个值,是有可能做这样的事情取决于其他值在SQL
INSERT INTO myTable VALUES
('Superman', 100,
'[this value will be either 'Good' or 'bad' depending if the previous row is less than or greater than 100]')
我认为你要做到这一点,因为它是一个参数化查询和你出于某种原因,不想计算查询外部的“好”或“坏”值?您可以现场“{这个值......”成case语句
情况下,当$ 1> 100 那么“好” 其他“坏” 结束
其中$ 1是你的参数。
如果所有行始终遵循相同的逻辑,则计算列也可能是您所需要的。那么你不需要存储'好'或'坏'。一个视图返回这个'好'或'坏'也可以做你想要的东西,而不用在插入物上处理它。
您可以通过使用例如case
声明(如下所示)来获得有条件的联机值。这里是一个MySQL实例:
,如果你的表的定义如下
CREATE TABLE testtable (
column1 varchar(20) DEFAULT NULL,
column2 int(11) DEFAULT NULL
);
那么下面的插入会插入一个一行值'Superman'
和0
insert into testtable (column1,column2) values ('Superman', case when 1>0 then 0 else 100 end);
你应该使用一些以变量驱动case
例如:
insert into testtable (column1,column2) values ('Superman', case when @xcoord > @ycoord then 0 else 100 end);
查找更多关于case
的信息以查找更多定制。
什么是“*上一个*”? –
您插入的最后一个值将会是好还是坏,具体取决于它之前的值。所以假设如果在它满足特定条件之前,最后的值将是“好”或“坏”。好吧,@ PM77-1 –
。什么是“*之前*”? –