當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 –
。什麼是「*之前*」? –