你可以使用聚合函数 SUM() 和 GROUP BY 命令来获取另一列中每个不同值的总和。为了理解上述概念,让我们创建一个表。创建表的查询如下:mysql> create table SumOfEveryDistinct -> ( -> Id int not null, -> Amount int -> ); 使用 insert 命令在表中插入一些记录。查询如下:mysql> insert into SumOfEveryDistinct values(10, 100); ... 阅读更多
你需要使用 SIGNAL SQL STATE 命令来停止 MySQL 中的插入或更新。触发器语法如下:DELIMITER // CREATE TRIGGER yourTriggerName BEFORE INSERT ON yourTableName FOR EACH ROW BEGIN yourCondition THEN SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT = 'anyMessageToEndUser'; END // DELIMITER ;现在,创建一个触发器,它会在某些条件下阻止向表中插入记录。创建触发器的查询如下:mysql> DELIMITER // mysql> CREATE TRIGGER InsertPreventTrigger BEFORE INSERT ON Insert_Prevent -> FOR EACH ROW -> BEGIN -> IF(new.Id < 1 or new.Id > 5) THEN ... 阅读更多
对于条件 NOT NULL 案例,你不需要使用和 = 运算符。你需要使用 IS NULL 和 IS NOT NULL 属性,因为 NULL 是 MySQL 中的一个特殊情况。为了理解条件 NOT NULL 案例,让我们创建一个表。创建表的查询如下:mysql> create table ConditionalNotNullDemo -> ( -> Id int NOT NULL AUTO_INCREMENT, -> SendMessage longtext, -> PRIMARY KEY(Id) -> ); 在表中插入一些记录 ... 阅读更多