我已經更新了答案,隨着越來越多的細節問題中給出的(並修復了一些錯誤)
請請記住將table_name和trigger_name更改爲適當的名稱:)。
SOLUTION:
你應該首先的第三列添加到表
ALTER TABLE table_name ADD COLUMN SCORE INT;
您應該添加觸發器來設置新行的比分:
DELIMITER $$
CREATE TRIGGER trigger_name BEFORE INSERT ON table_name
FOR EACH ROW
BEGIN
SET NEW.SCORE = CASE WHEN NEW.RESULTS < 0 THEN 1 WHEN NEW.RESULTS < 30 THEN 2 WHEN NEW.RESULTS < 100 THEN 3 ELSE 4 END;
END$$
DELIMITER ;
並且您應該初始化表中存在的行的SCORE值
UPDATE table_name t
SET t.SCORE = CASE WHEN t.RESULTS < 0 THEN 1 WHEN t.RESULTS < 30 THEN 2 WHEN t.RESULTS < 100 THEN 3 ELSE 4 END;
希望它有幫助。
你的問題沒有解決。顯示更好的示例和數據庫模式和預期結果。 \t請閱讀[**如何提問**](http://stackoverflow.com/help/how-to-ask) \t \t這裏是[** START **]( http://spaghettidba.com/2015/04/24/how-to-post-at-sql-question-on-a-public-forum/)瞭解如何提高您的問題質量並獲得更好的答案。 –