草庐IT

auto-import

全部标签

php - Phalcon 迁移系统中的 auto_increment

出于某种原因,迁移系统在使用auto_increment主键时表现不佳。我在监督什么吗?(我使用的是phalcon2.0.1)我有以下自动生成的迁移:classLanguagesMigration_100extendsMigration{publicfunctionup(){$this->morphTable('languages',array('columns'=>array(newColumn('id',array('type'=>Column::TYPE_INTEGER,'notNull'=>true,'autoIncrement'=>true,'size'=>11,'first

MySql upsert 和 auto-increment 导致 gaps

我有一个带有自动递增主键的MySql表,似乎所有各种更新插入方法(INSERTIGNORE和ONDUPLICATEKEYUPDATE)都受到自动递增字段的影响增量,即使更新了一行但未插入。这意味着在表格中引入了间隙,我认为这是不可取的。所以问题是:如果更新插入实际上只是更新行,是否有任何方法可以在具有自动递增字段的表中更新插入记录而不自动递增该字段。在我看来,这是upsert应该的行为方式,但它似乎并非如此。 最佳答案 这个“问题”只存在于InnoDB中。这是设计使然,旨在提高并发性:另一个线程可以使用AUTO_INCREMENT,

mysqldump + auto_increment 导致主键错误

我正在使用mysqldump(a)转储一个表,然后(b)将它插入到别处。当我尝试执行(b)部分时出现问题。这是我得到的错误。键“PRIMARY”的重复条目“1”现在,坚持,坚持。我知道我没有插入重复的主键....我检查了CREATETABLE语句。id字段上的auto_incremement保留为id列的最大值:AUTO_INCREMENT=45634650。我认为问题在于,如果您尝试插入id值小于auto_increment指定值的任何行,MySQL将给出此错误....无论该id是否重复。我尝试从TABLECREATE语句中手动删除AUTO_INCREMENT。仍然是同样的错误。更新

PHP/MySQL : Import data and store in hierarchical nested set for use with jsTree

我正在使用jsTree查看作为嵌套集(左、右、级别等)存储在mySQL数据库中的分层数据。这工作正常,但我需要允许用户通过上传CSV文件来导入数据。当他们这样做时,表格中的任何现有数据都将被删除,因此我不必担心更新左/右字段。他们将要上传的数据将采用以下格式:"Code","Title""100","Unit100""200","Unit200""101","Task101:Thisisatask""102","Task102:Anothertask""201","Task201:Yetanother""300","Unit300""301","Task301:Anotherone"一

mysql - 重置 AUTO_INCREMENT 不起作用

我在MySQL中有一个名为Person的表。有一列id具有UNIQUE和AUTO_INCREMENT属性以及一个主键。我想重置id的计数器,以便它从1重新开始。我使用了以下SQL语句:ALTERTABLEPersonAUTO_INCREMENT=1;但是在我应用此更改后,id仍然从我最后的位置(130)开始,而不是从1开始。那么为什么此重置不起作用? 最佳答案 使用TRUNCATETABLE因为这将重置自动增量来自documentation...从MySQL5.0.13开始,无论是否有外键约束,AUTO_INCREMENT计数器都会

mysql - 为什么 auto_incremnt 列在插入语句失败后增加它的值

这个问题在这里已经有了答案:WhydoesMySQLautoincrementincreaseonfailedinserts?(4个答案)关闭9年前。我正在使用MySQL。我创建了两个新表。在Employees表中插入一个新行后,我故意尝试在Orders表中插入一个新行,其引用在Employees表中不存在(我知道它会产生错误)。之后,当我尝试在Orders表中插入一个新行时,其引用存在于Employees表中,它执行成功但现在第一行Orders表的id为2。为什么即使第一个插入语句失败它也会增加CREATETABLEEmployees(EmpIDSMALLINTNOTNULLAUTO

MySQL - 如何永久设置 auto_increment_increment,直到最后一次服务器重启?

是否可以设置MySQLauto_increment_increment使其在服务器重启后仍然存在?目前我是这样设置的:SET@@auto_increment_increment=2;但是当我:sudoservicemysqlrestart并返回到默认值1。我在AWS上,我希望能够尽可能轻松地处理可能的世界末日错误:通过从AMI设置一个新实例。我希望它在启动时立即准备好服务,并避免手动设置auto_increment_increment值之类的事情。 最佳答案 在my.ini或my.cnf中设置[mysqld]auto_increme

mysql - mysql中的AUTO_INCREMENT可以默认签名吗?

我明白,column下面默认是signedint。idINT(6);下面指定的autoincrementcolumn是否可以默认签名?Mysql的自增列的值从1开始。idINT(6)AUTO_INCREMENTPRIMARYKEY 最佳答案 是的,您可以使用带符号的int创建一个自动递增主键。试试这个:CREATETABLEmytable(idint(6)AUTO_INCREMENTPRIMARYKEY);那么下面的查询都是有效的INSERTINTOmytablevalues();INSERTINTOmytablevalues(-1

MySQL 将列定义为具有 AUTO_INCREMENT 的 UNIQUE 而不是作为主键

我正在与一名契约(Contract)开发人员合作,他开始在没有定义主键的情况下创建表(MySQL)。相反,他定义了一个带有UNIQUE约束和AUTO_INCREMENT的列。我以前从未见过这样做,所以我想了解以这种方式定义表的含义。一个缺点是无法在需要时创建外键。以这种方式创建表还有其他一些影响,无论好坏。也许我在这里漏掉了一个概念…… 最佳答案 在没有显式主键的情况下定义MySQL是一个非常非常糟糕的主意。如果缺少PK,MySQL将创建一个隐式(但非常真实)整数自增主键。此PK将包含在InnoDB中的每个辅助键中,并将确定您在My

vue3+vite中使用import.meta.glob

前言:    在vue2的时候,我们一般引入多个js或者其他文件,一般使用 require.context来引入多个不同的文件,但是vite中是不支持require的,他推出了一个类似的功能,就是用import.meta.glob来引入多个,单个的文件。这里说说他们的对比和区别:vue2中使用 require来引入多个不同的js文件1、引入 modules下的所有的js文件constmodulesFiles=require.context('./modules',true,/\.js$/)2、循环,拿到每个js文件的名称和js返回的具体内容modulesFiles.keys().reduce(