mysql - 当主键设置为 AUTO_INCREMENT 时,有没有办法停止在 n 处增加行?
问题描述
我只想要 6400 行数newtable
。我该怎么做呢?
我有一个看起来像这样的表:
CREATE TABLE `newtable` (
ID_NT int(10) NOT NULL AUTO_INCREMENT
)ENGINE=InnoDB DEFAULT CHARSET=latin1;
解决方案
你可以在你的桌子上使用触发器。这当然只有在您不删除行时才有效
DELIMITER $$
CREATE TRIGGER InsertPreventTrigger BEFORE INSERT ON yourtable
FOR EACH ROW
BEGIN
DECLARE idcount INT;
set idcount = ( select count(*) from id where request = new.request );
IF idcount> 6400
THEN
SIGNAL SQLSTATE '45000'
SET MESSAGE_TEXT = 'You can not insert record';
END $$
DELIMITER ;
你可以根据你的需要改变你的桌子和身份证
更新为计数行,更适合请求
推荐阅读
- hadoop - HIVE INSERT INTO 因命名空间配额问题而失败
- scala - 基于泛型的重载方法
- dart - 类'未来
' 没有实例 getter 'length' - javascript - React App:EventSource 的响应具有不是“text/event-stream”的 MIME 类型(“application/json”)。中止连接
- arrays - 试图从嵌套数组中访问值
- r - 标准化变量的问题
- php - 如何将我的 URL 行输出为超链接 (PHP)?
- sockets - 创建一个 tls websocket 连接
- php - 我尝试了很多次如何解决这个问题?
- node.js - Firebase 函数引发无法捕获的错误