首页 > 解决方案 > 当主键设置为 AUTO_INCREMENT 时,有没有办法停止在 n 处增加行?

问题描述

我只想要 6400 行数newtable。我该怎么做呢?

我有一个看起来像这样的表:

CREATE TABLE `newtable` (
    ID_NT int(10) NOT NULL AUTO_INCREMENT
)ENGINE=InnoDB DEFAULT CHARSET=latin1;

标签: mysqlsql

解决方案


你可以在你的桌子上使用触发器。这当然只有在您不删除行时才有效

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 ;

你可以根据你的需要改变你的桌子和身份证

更新为计数行,更适合请求


推荐阅读