我有一个表 ee_company_product_listings_par,它有很多列,包括 cplc_id 和 marketplaceID。
这是表的 DDL:-
ee_company_product_listings_par | CREATE TABLE `ee_company_product_listings_par` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`company_product_id` int(11) DEFAULT NULL,
`feed_dump_id` int(11) DEFAULT NULL,
`listing_status_id` int(11) DEFAULT NULL,
`sku` varchar(500) DEFAULT NULL,
`mrp` float DEFAULT NULL,
`selling_price` float DEFAULT NULL,
`quantity` int(11) NOT NULL,
`merchant_payout` float DEFAULT NULL,
`shipping_cost` float DEFAULT NULL,
`commission` float DEFAULT NULL,
`commission_service_tax` float DEFAULT NULL,
`pmt_gateway_charge` float DEFAULT NULL,
`shipping_local` float DEFAULT NULL,
`shipping_zonal` float DEFAULT NULL,
`shipping_national` float DEFAULT NULL,
`site_uid` varchar(200) DEFAULT '-',
`listing_ref_number` varchar(200) DEFAULT '-',
`UID` varchar(50) DEFAULT NULL,
`marketplaceID` int(11) NOT NULL,
`confirmed` tinyint(1) NOT NULL DEFAULT '0',
`inventory_live` tinyint(2) NOT NULL DEFAULT '1',
`update_cpl_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
`sku_corrected` tinyint(1) DEFAULT '0',
`cplisting_entry_time` timestamp NULL DEFAULT NULL,
`weight` float(10,2) DEFAULT NULL,
`length` float(10,2) DEFAULT NULL,
`height` float(10,2) DEFAULT NULL,
`width` float(10,2) DEFAULT NULL,
`cplc_id` int(11) NOT NULL DEFAULT '0',
`mp_cat_id` int(11) DEFAULT NULL,
`process_id` varchar(10) DEFAULT NULL,
`host_ip` varchar(20) DEFAULT NULL,
`color` varchar(100) DEFAULT NULL,
`size` varchar(100) DEFAULT NULL,
`identifier` varchar(200) DEFAULT NULL,
`mp_brand_id` int(11) DEFAULT NULL,
PRIMARY KEY (`id`,`cplc_id`,`marketplaceID`)
) ENGINE=InnoDB AUTO_INCREMENT=21474383 DEFAULT CHARSET=latin1 |
cplc_id 的范围是 0-10000
marketplaceID 的取值范围是 0-100
我想在这两列的基础上创建范围分区。
这是我正在运行的查询:-
alter table ee_company_product_listings_par partition by range columns (cplc_id, marketplaceID) (
PARTITION p500_5 VALUES LESS THAN (500, 5),
PARTITION p500_10 VALUES LESS THAN (500,10),
PARTITION p1000_5 VALUES LESS THAN (1000,5),
PARTITION p1000_10 VALUES LESS THAN (1000,10),
partition pmax values less than MAXVALUE
);
这是我得到的错误:-
ERROR 1064 (42000): Inconsistency in usage of column lists for partitioning near 'MAXVALUE
)' at line 4
谁能帮忙找出查询中的问题所在。在整个互联网上搜索但没有找到任何解决方案。可能会有一些愚蠢的错误,因为我对分区完全陌生。任何帮助将不胜感激。
最佳答案
语法错误;使用这个:
VALUES LESS THAN (MAXVALUE, MAXVALUE)
您希望从PARTITIONing 中获得什么?哪些 SELECTs 会受益?
关于mysql - 对表进行分区时出现错误 - 'Inconsistency in usage of column',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44513225/
很好奇,就使用rubyonrails自动化单元测试而言,你们正在做什么?您是否创建了一个脚本来在cron中运行rake作业并将结果邮寄给您?git中的预提交Hook?只是手动调用?我完全理解测试,但想知道在错误发生之前捕获错误的最佳实践是什么。让我们理所当然地认为测试本身是完美无缺的,并且可以正常工作。下一步是什么以确保他们在正确的时间将可能有害的结果传达给您? 最佳答案 不确定您到底想听什么,但是有几个级别的自动代码库控制:在处理某项功能时,您可以使用类似autotest的内容获得关于哪些有效,哪些无效的即时反馈。要确保您的提
我正在尝试测试是否存在表单。我是Rails新手。我的new.html.erb_spec.rb文件的内容是:require'spec_helper'describe"messages/new.html.erb"doit"shouldrendertheform"dorender'/messages/new.html.erb'reponse.shouldhave_form_putting_to(@message)with_submit_buttonendendView本身,new.html.erb,有代码:当我运行rspec时,它失败了:1)messages/new.html.erbshou
在控制台中反复尝试之后,我想到了这种方法,可以按发生日期对类似activerecord的(Mongoid)对象进行分组。我不确定这是完成此任务的最佳方法,但它确实有效。有没有人有更好的建议,或者这是一个很好的方法?#eventsisanarrayofactiverecord-likeobjectsthatincludeatimeattributeevents.map{|event|#converteventsarrayintoanarrayofhasheswiththedayofthemonthandtheevent{:number=>event.time.day,:event=>ev
我在我的项目目录中完成了compasscreate.和compassinitrails。几个问题:我已将我的.sass文件放在public/stylesheets中。这是放置它们的正确位置吗?当我运行compasswatch时,它不会自动编译这些.sass文件。我必须手动指定文件:compasswatchpublic/stylesheets/myfile.sass等。如何让它自动运行?文件ie.css、print.css和screen.css已放在stylesheets/compiled。如何在编译后不让它们重新出现的情况下删除它们?我自己编译的.sass文件编译成compiled/t
我正在用Ruby编写一个简单的程序来检查域列表是否被占用。基本上它循环遍历列表,并使用以下函数进行检查。require'rubygems'require'whois'defcheck_domain(domain)c=Whois::Client.newc.query("google.com").available?end程序不断出错(即使我在google.com中进行硬编码),并打印以下消息。鉴于该程序非常简单,我已经没有什么想法了-有什么建议吗?/Library/Ruby/Gems/1.8/gems/whois-2.0.2/lib/whois/server/adapters/base.
大约一年前,我决定确保每个包含非唯一文本的Flash通知都将从模块中的方法中获取文本。我这样做的最初原因是为了避免一遍又一遍地输入相同的字符串。如果我想更改措辞,我可以在一个地方轻松完成,而且一遍又一遍地重复同一件事而出现拼写错误的可能性也会降低。我最终得到的是这样的:moduleMessagesdefformat_error_messages(errors)errors.map{|attribute,message|"Error:#{attribute.to_s.titleize}#{message}."}enddeferror_message_could_not_find(obje
我想为Heroku构建一个Rails3应用程序。他们使用Postgres作为他们的数据库,所以我通过MacPorts安装了postgres9.0。现在我需要一个postgresgem并且共识是出于性能原因你想要pggem。但是我对我得到的错误感到非常困惑当我尝试在rvm下通过geminstall安装pg时。我已经非常明确地指定了所有postgres目录的位置可以找到但仍然无法完成安装:$envARCHFLAGS='-archx86_64'geminstallpg--\--with-pg-config=/opt/local/var/db/postgresql90/defaultdb/po
我在我的项目中添加了一个系统来重置用户密码并通过电子邮件将密码发送给他,以防他忘记密码。昨天它运行良好(当我实现它时)。当我今天尝试启动服务器时,出现以下错误。=>BootingWEBrick=>Rails3.2.1applicationstartingindevelopmentonhttp://0.0.0.0:3000=>Callwith-dtodetach=>Ctrl-CtoshutdownserverExiting/Users/vinayshenoy/.rvm/gems/ruby-1.9.3-p0/gems/actionmailer-3.2.1/lib/action_mailer
我正在编写一个包含C扩展的gem。通常当我写一个gem时,我会遵循TDD的过程,我会写一个失败的规范,然后处理代码直到它通过,等等......在“ext/mygem/mygem.c”中我的C扩展和在gemspec的“扩展”中配置的有效extconf.rb,如何运行我的规范并仍然加载我的C扩展?当我更改C代码时,我需要采取哪些步骤来重新编译代码?这可能是个愚蠢的问题,但是从我的gem的开发源代码树中输入“bundleinstall”不会构建任何native扩展。当我手动运行rubyext/mygem/extconf.rb时,我确实得到了一个Makefile(在整个项目的根目录中),然后当
在MRIRuby中我可以这样做:deftransferinternal_server=self.init_serverpid=forkdointernal_server.runend#Maketheserverprocessrunindependently.Process.detach(pid)internal_client=self.init_client#Dootherstuffwithconnectingtointernal_server...internal_client.post('somedata')ensure#KillserverProcess.kill('KILL',