设置最大行INSERT限制MySQL

时间:2013-05-17 12:44:43

标签: mysql sql

我有一个表格,管理员可以上传更多用户的详细信息。在上传之前,他必须选择限制;假设他选择 30个用户。那么,我可以将MySQL表的限制设置为仅允许插入30行而不是更多吗?有没有办法做到这一点?

2 个答案:

答案 0 :(得分:3)

INSERT INTO `user_details` (fields) 
SELECT d.detail
FROM 
    (SELECT 'asdasd' as `detail` FROM dual) d
    CROSS JOIN (
        SELECT 1 FROM INFORMATION_SCHEMA.COLUMNS
        LIMIT 30
    ) i
  • 对于更高的限制值,我认为这个技巧不起作用
  • 您需要访问INFORMATION_SCHEMA架构。

示例小提琴:http://sqlfiddle.com/#!2/15ea4/5

答案 1 :(得分:0)

如果您使用的是数据库访问库,解决此问题的一种复杂方法是​​在SQL查询开始时打开一个事务,并仅在您未通过限制的情况下提交数据库,伪代码(使用社会):

transaction tr(*db);
//your SQL query that ends in "RETURNING id"
if (id < 30) tr.commit();
else throw;