Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 如何防止添加新行,防止sql中的重载_Mysql_Sql_Sql Server - Fatal编程技术网

Mysql 如何防止添加新行,防止sql中的重载

Mysql 如何防止添加新行,防止sql中的重载,mysql,sql,sql-server,Mysql,Sql,Sql Server,假设我正在尝试为电影院预订创建示例db模式。 我有一个具有int容量的表“礼堂”,我希望能够创建尽可能多的“预订”记录,但我希望礼堂满座时无法创建预订 比如说,试听厅A有100个座位。然后,我希望能够将100个具有FK的预订插入礼堂A,当我尝试创建第101个预订时,会出现错误或类似的情况。这通常由触发器处理——在MySQL或SQL Server中 一种方法是使用一个具有最大容量的Auditoria表(或者如果配置可能发生变化,每个事件的最大容量) Bookings表将有一个触发器。当插入记录时,

假设我正在尝试为电影院预订创建示例db模式。 我有一个具有int容量的表“礼堂”,我希望能够创建尽可能多的“预订”记录,但我希望礼堂满座时无法创建预订


比如说,试听厅A有100个座位。然后,我希望能够将100个具有FK的预订插入礼堂A,当我尝试创建第101个预订时,会出现错误或类似的情况。

这通常由触发器处理——在MySQL或SQL Server中

一种方法是使用一个具有最大容量的
Auditoria
表(或者如果配置可能发生变化,每个事件的最大容量)

Bookings
表将有一个触发器。当插入记录时,事件记录的数量将与礼堂的容量进行比较,超过容量的插入将失败


如果礼堂有固定的容量和布局,您还可以拥有一张每张座位一行的桌子。然后预订一个特定的座位——并且容量问题会自动得到解决(因为没有座位可用)。

MySQL或SQL Server?它们是不同的RDBMS,请选择正确的标记。这通常在应用程序逻辑中完成,而不是在数据库中。正确标记!!!!!MySQL SQL Server我知道MySQL和SQL Server不一样。。。我只是想,如果我在mysql中获得解决方案,我可以轻松地将其转换为sql server。。