我正在使用 mysqldump (a) 转储一个表,然后 (b) 将它插入到别处。当我尝试执行 (b) 部分时出现问题。这是我得到的错误。
键“PRIMARY”的重复条目“1”
现在,坚持,坚持。我知道我没有插入重复的主键....我检查了 CREATE TABLE 语句。 id 字段上的 auto_incremement 保留为 id 列的最大值:AUTO_INCREMENT=45634650。我认为问题在于,如果您尝试插入 id 值小于 auto_increment 指定值的任何行,MySQL 将给出此错误....无论该 id 是否重复。
我尝试从 TABLE CREATE 语句中手动删除 AUTO_INCREMENT。仍然是同样的错误。
更新:这里是创建表语句的一些相关部分。撇开插入,即使是其中一个也是巨大的:
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
/*Table structure for table `WC_ip` */
DROP TABLE IF EXISTS `WC_ip`;
CREATE TABLE `WC_ip` (
`id` int(11) NOT NULL AUTO_INCREMENT,
etc etc .. =)
`activity_date` date DEFAULT NULL,
UNIQUE KEY `userid_game_installAge` (`userid`,`game`,`install_age`),
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=45750081 DEFAULT CHARSET=latin1;
/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
INSERT INTO `bi_user_daily` VALUES (1,1512489,'WC','1','GR','100001229652633','asfdasdf','http://www.facebook.com/asfdasdfasdffgdf','notif','gghgf','Secondary Paid Direct','2012-01-02',0,0,0.00,0,0,0,0,194,0,0,1325491229,'Google Chrome','16.0.912.63','windows','GR','178.146.208.153',0,1325491253,24,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'incomplete',91,2,1914,2,1,3.23,0,NULL,NULL,NULL,NULL,0,'2012-01-03','2012-01-03 07:06:57','2012-01-02'),
(2,1512490,'WC','1','TW','453','asdf','http://www.facebook.com/profile.php?id=blachdfhjdfkh','dfdsfg','','Primary Paid','2012-01-02',0,0,0.00,0,0,0,0,394,0,0,1325491233,'Google Chrome','16.0.912.63','windows','TW','114.41.159.234',0,1325491258,25,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'complete',120,2,2302,2,1,6.57,0,NULL,NULL,NULL,NULL,0,'2012-01-03','2012-01-03 07:06:57','2012-01-02'),
(3,1512491,'WC','1','','1590571243','','','notif','asfd','Secondary Paid Direct','2012-01-02',0,0,0.00,0,0,0,0,0,0,0,34535,'Mozilla Firefox','9.0.1','windows','-','10.54.48.31',1,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,0.00,0,NULL,NULL,NULL,NULL,0,'2012-01-03','2012-01-03 07:06:57','2012-01-02')
CREATE TABLE `bi_user_daily` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`userid` bigint(20) DEFAULT NULL,
`game` varchar(45) DEFAULT NULL,
`main.install_today` varchar(45) DEFAULT NULL,
`main.country` text,
`main.fbid` varchar(50) DEFAULT NULL,
`main.photo` text,
`main.main.url` text,
`main.fromstr` varchar(50) DEFAULT NULL,
`main.sourcestr` varchar(50) DEFAULT NULL,
`main.user_type` varchar(50) DEFAULT NULL,
`main.install_date_pst` date DEFAULT NULL,
`main.install_hour_pst` int(11) DEFAULT NULL,
`main.revenue_primary` int(11) DEFAULT NULL,
`main.revenue_secondary` decimal(10,2) DEFAULT NULL,
`main.trans_primary` int(11) DEFAULT NULL,
`main.trans_secondary` int(11) DEFAULT NULL,
`main.direct_installs_generated` int(11) DEFAULT NULL,
`main.indirect_installs_generated` int(11) DEFAULT NULL,
`main.timeplayed_total` int(11) DEFAULT NULL,
`main.gift_sent_total` int(11) DEFAULT NULL,
`main.monetized` int(11) DEFAULT NULL,
`install.usercreate_time` int(11) DEFAULT NULL,
`install.browser` varchar(75) DEFAULT NULL,
`install.browser_version` varchar(50) DEFAULT NULL,
`install.os` varchar(50) DEFAULT NULL,
`install.ip_address_country` varchar(50) DEFAULT NULL,
`install.ip_address` varchar(50) DEFAULT NULL,
`install.noload` int(11) DEFAULT NULL,
`install.f.reate_time` int(11) DEFAULT NULL,
`install.load_duration` int(11) DEFAULT NULL,
`l.f.time_saved` int(11) DEFAULT NULL,
`l.f.playerLevel` int(11) DEFAULT NULL,
`l.f.daysSinceInstall` int(11) DEFAULT NULL,
`l.f.resource1` int(11) DEFAULT NULL,
`l.f.resource2` int(11) DEFAULT NULL,
`l.f.resource3` int(11) DEFAULT NULL,
`l.f.resource4` int(11) DEFAULT NULL,
`l.f.f.epairTime` int(11) DEFAULT NULL,
`l.f.dockRepairTime` int(11) DEFAULT NULL,
`l.f.fleetRepairTime` int(11) DEFAULT NULL,
`l.f.maxResearchTime` int(11) DEFAULT NULL,
`l.f.shipBuildTime` int(11) DEFAULT NULL,
`l.f.buildingUpgradeTime` int(11) DEFAULT NULL,
`l.f.numf.Uncovered` int(11) DEFAULT NULL,
`l.f.attackablef.Uncovered` int(11) DEFAULT NULL,
`l.f.numTerrainsUncovered` int(11) DEFAULT NULL,
`l.f.numFleets` int(11) DEFAULT NULL,
`l.f.battlesWon` int(11) DEFAULT NULL,
`l.f.battlesTotal` int(11) DEFAULT NULL,
`l.f.numf.ttacks` int(11) DEFAULT NULL,
`l.f.numf.efends` int(11) DEFAULT NULL,
`l.f.totalResourcesCombat` int(11) DEFAULT NULL,
`l.f.totalResourcesProduced` int(11) DEFAULT NULL,
`l.f.bubbleTimeLeft` int(11) DEFAULT NULL,
`l.f.FBCSpend` int(11) DEFAULT NULL,
`l.f.numFriends` int(11) DEFAULT NULL,
`l.f.numInstallsGenerated` int(11) DEFAULT NULL,
`l.f.numGiftsRecd` int(11) DEFAULT NULL,
`l.f.numChatMessagesSent` int(11) DEFAULT NULL,
`l.f.numMissionsCompleted` int(11) DEFAULT NULL,
`l.f.numAdvancedResearched` int(11) DEFAULT NULL,
`l.f.numWeaponsResearched` int(11) DEFAULT NULL,
`l.f.numArmorsResearched` int(11) DEFAULT NULL,
`l.f.numHullsResearched` int(11) DEFAULT NULL,
`l.summary.tutorial_status` varchar(50) DEFAULT NULL,
`l.summary.tutorial_stage` int(11) DEFAULT NULL,
`l.summary.user_level` int(11) DEFAULT NULL,
`l.summary.f.points` int(11) DEFAULT NULL,
`l.summary.f.loads` int(11) DEFAULT NULL,
`key_metrics.logged_in` int(11) DEFAULT NULL,
`key_metrics.timeplayed` decimal(10,2) DEFAULT NULL,
`key_metrics.revenue` int(11) DEFAULT NULL,
`virality.secondary_direct_install` int(11) DEFAULT NULL,
`virality.secondary_indirect_install` int(11) DEFAULT NULL,
`monetization.secondary_direct_revenue` decimal(10,2) DEFAULT NULL,
`monetization.secondary_indirect_revenue` decimal(10,2) DEFAULT NULL,
`install_age` int(11) DEFAULT NULL,
`record_created_date` date DEFAULT NULL,
`record_created_datetime` datetime DEFAULT NULL,
`activity_date` date DEFAULT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `userid_game_installAge` (`userid`,`game`,`install_age`)
) ENGINE=MyISAM AUTO_INCREMENT=45634650 DEFAULT CHARSET=latin1;
最佳答案
几个月前我遇到了同样的问题(在我的 blog 上发布了解决方案)。有一个known issue对于 MySQL 5.1.11+,如果您执行 mysqldump,它还会输出 auto_increment 计数(如您在帖子中所述)。您可以使用 sed(流编辑)并在生成转储文件时解析出 auto_increment 结构:
mysqldump -u username -p -h <db-host> --opt <db-name> -d --single-transaction | sed 's/ AUTO_INCREMENT=[0-9]*\b//' > <filename>.sql
关于mysqldump + auto_increment 导致主键错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8737361/
大约一年前,我决定确保每个包含非唯一文本的Flash通知都将从模块中的方法中获取文本。我这样做的最初原因是为了避免一遍又一遍地输入相同的字符串。如果我想更改措辞,我可以在一个地方轻松完成,而且一遍又一遍地重复同一件事而出现拼写错误的可能性也会降低。我最终得到的是这样的:moduleMessagesdefformat_error_messages(errors)errors.map{|attribute,message|"Error:#{attribute.to_s.titleize}#{message}."}enddeferror_message_could_not_find(obje
我的瘦服务器配置了nginx,我的ROR应用程序正在它们上运行。在我发布代码更新时运行thinrestart会给我的应用程序带来一些停机时间。我试图弄清楚如何优雅地重启正在运行的Thin实例,但找不到好的解决方案。有没有人能做到这一点? 最佳答案 #Restartjustthethinserverdescribedbythatconfigsudothin-C/etc/thin/mysite.ymlrestartNginx将继续运行并代理请求。如果您将Nginx设置为使用多个上游服务器,例如server{listen80;server
我遵循MichaelHartl的“RubyonRails教程:学习Web开发”,并创建了检查用户名和电子邮件长度有效性的测试(名称最多50个字符,电子邮件最多255个字符)。test/helpers/application_helper_test.rb的内容是:require'test_helper'classApplicationHelperTest在运行bundleexecraketest时,所有测试都通过了,但我看到以下消息在最后被标记为错误:ERROR["test_full_title_helper",ApplicationHelperTest,1.820016791]test
我是rails的新手,想在form字段上应用验证。myviewsnew.html.erb.....模拟.rbclassSimulation{:in=>1..25,:message=>'Therowmustbebetween1and25'}end模拟Controller.rbclassSimulationsController我想检查模型类中row字段的整数范围,如果不在范围内则返回错误信息。我可以检查上面代码的范围,但无法返回错误消息提前致谢 最佳答案 关键是您使用的是模型表单,一种显示ActiveRecord模型实例属性的表单。c
我正在尝试编写一个将文件上传到AWS并公开该文件的Ruby脚本。我做了以下事情:s3=Aws::S3::Resource.new(credentials:Aws::Credentials.new(KEY,SECRET),region:'us-west-2')obj=s3.bucket('stg-db').object('key')obj.upload_file(filename)这似乎工作正常,除了该文件不是公开可用的,而且我无法获得它的公共(public)URL。但是当我登录到S3时,我可以正常查看我的文件。为了使其公开可用,我将最后一行更改为obj.upload_file(file
我克隆了一个rails仓库,我现在正尝试捆绑安装背景:OSXElCapitanruby2.2.3p173(2015-08-18修订版51636)[x86_64-darwin15]rails-v在您的Gemfile中列出的或native可用的任何gem源中找不到gem'pg(>=0)ruby'。运行bundleinstall以安装缺少的gem。bundleinstallFetchinggemmetadatafromhttps://rubygems.org/............Fetchingversionmetadatafromhttps://rubygems.org/...Fe
在Cooper的书BeginningRuby中,第166页有一个我无法重现的示例。classSongincludeComparableattr_accessor:lengthdef(other)@lengthother.lengthenddefinitialize(song_name,length)@song_name=song_name@length=lengthendenda=Song.new('Rockaroundtheclock',143)b=Song.new('BohemianRhapsody',544)c=Song.new('MinuteWaltz',60)a.betwee
我是Google云的新手,我正在尝试对其进行首次部署。我的第一个部署是RubyonRails项目。我基本上是在关注thisguideinthegoogleclouddocumentation.唯一的区别是我使用的是我自己的项目,而不是他们提供的“helloworld”项目。这是我的app.yaml文件runtime:customvm:trueentrypoint:bundleexecrackup-p8080-Eproductionconfig.ruresources:cpu:0.5memory_gb:1.3disk_size_gb:10当我转到我的项目目录并运行gcloudprevie
我有两个Rails模型,即Invoice和Invoice_details。一个Invoice_details属于Invoice,一个Invoice有多个Invoice_details。我无法使用accepts_nested_attributes_forinInvoice通过Invoice模型保存Invoice_details。我收到以下错误:(0.2ms)BEGIN(0.2ms)ROLLBACKCompleted422UnprocessableEntityin25ms(ActiveRecord:4.0ms)ActiveRecord::RecordInvalid(Validationfa
这个问题在这里已经有了答案:Arraysmisbehaving(1个回答)关闭6年前。是否应该这样,即我误解了,还是错误?a=Array.new(3,Array.new(3))a[1].fill('g')=>[["g","g","g"],["g","g","g"],["g","g","g"]]它不应该导致:=>[[nil,nil,nil],["g","g","g"],[nil,nil,nil]]