草庐IT

INT_OPERATION

全部标签

java - ResultSet.updateRow() 产生 "Illegal mix of collations (latin1_bin,IMPLICIT) and (utf8_general_ci,COERCIBLE) for operation ' <= >'"

我有下表name为LATIN1,其余为UTF8。CREATETABLE`test_names`(`name`varchar(500)CHARACTERSETlatin1COLLATElatin1_binNOTNULL,`other_stuff_1`intDEFAULTNULL,`other_stuff_2`varchar(45)DEFAULTNULL,PRIMARYKEY(`name`))ENGINE=InnoDBDEFAULTCHARSET=utf8我在Java中遇到以下问题:我SELECT...FORUPDATE.然后我调用updateInt(2,1)和updateRow()在它的

mysql - CASE 表达式中 INT 列上的 ORDER BY 无法正常工作

我有一张看起来像的tablesome_table(item_idvarchar(10)null,item_titlevarchar(200)null,item_urlvarchar(200)null,item_statuschardefault'0'null,access_countintnull,created_byvarchar(100)default'system'notnull,created_datetimestampdefaultCURRENT_TIMESTAMPnotnull)当我尝试执行以下SQL时,结果顺序不正确,例如,91在912之后。SET@orderCol='a

mysql - 主键作为 INT,全局键作为 GUID,以提高性能

在决定表的键时,表有一个INT主键(自动增量)和数据库范围有一个GUID(除了INT)是否好?鉴于将有更多的表DML语句,对INT进行操作会更快,而如果要执行任何泛数据库DML语句,GUID将派上用场。请注意我正在使用MySQL,以防万一。请发表意见。 最佳答案 我以前做过并且成功了:正如你所指出的,使用GUID意味着我们在合并时避免了冲突,比如说,来自一个数据库的数据与另一个数据库,并且int为我们提供了高效的连接等。当您处理OLAP时,我永远不会使用GUID作为键,因为那样会提高性能。

LIKE term%ORDER BY int MySQL查询优化

我的问题是关于在使用前缀匹配时处理VARCHAR上的MySQL索引和intCOLUMN。例如如果我有这样的查询:SELECT*FROMtblWHEREnameLIKE'query%'ORDERBYweightDESCLIMIT5考虑到我有一个索引,一个名称->权重,该索引是否需要查找前缀query的所有外观,然后使用ORDERBY,或者他是否保持交叉计算索引,即使使用前缀匹配(%)。我为此感到困扰,因为对于流行的名字(例如query=john),我可能会发现自己要搜索很长时间才能找到john的所有外观,这会使限制变得无用,并且在我处理时查询会变慢具有大型数据集。

mysql - 时间戳 vs 日期时间 vs int - 有和没有索引 - 测试

在我的例子中,我只会测试哪种日期时间格式最适合我的查询持续时间。这是我的查询:SELECTmax(ColumnA),--bigintCreateDate,ColumnB,EndTime,ColumnC,ColumnD,ColumnE,ColumnF,--intStartTime,--timestampordatetimeorint-UNIX_TIMESTAMP(StartTime)ColumnG,ColumnH,ColumnI,ColumnJ,UpdateDate,ColumnKFROMTABLE条件:--withindexes(Iteration1)WHEREStartTimeBET

javascript - 使用 mySQL 数组对象作为 int

我刚刚开始学习PHP、javascript和mySQL。我已经设法使用PHP将mySQL结果转换为json数组:vararrayObjects=现在我有一个javascript数组,但我不知道如何使用它。如果我在浏览器控制台中查看“arrayObjects”,它会显示以下内容:[Object]0:ObjectID:"1"Theme:"2"Item1:"0"Item2:"1"Item3:"2"我想在javascript中将“Theme”用作int,但我不知道如何将其作为int变量。 最佳答案 您可以将数组中的值移到它自己的变量中,这是

sql - MySql INT 字段中的小数点分隔符是什么?

这个集合是否以某种方式存在于变量中?是否可以在INT字段中存储十进制值,还是必须是FLOAT?逗号或点作为分隔符?或者它甚至重要吗?谢谢 最佳答案 逗号不存储在表中...无论您使用什么方式查看数据,它们都以这种方式表示。对于十进制数,不,你不能使用INT,它只接受整数,你可能需要DECIMAL(所以你不会得到奇数0.3999999999999999999999999999999不能完全正确地存储在float中)。 关于sql-MySqlINT字段中的小数点分隔符是什么?,我们在Stack

mysql - 时间戳为int字段,查询性能

我将时间戳存储为int字段。在大表上,在日期插入行需要很长时间,因为我使用的是mysql函数FROM_UNIXTIME。SELECT*FROMtableWHEREFROM_UNIXTIME(timestamp_field,'%Y-%m-%d')='2010-04-04'有什么方法可以加快这个查询的速度吗?也许我应该使用timestamp_field>=xANDtimestamp_field查询行?谢谢已编辑此查询效果很好,但您应该注意timestamp_field上的索引。SELECT*FROMtableWHEREtimestamp_field>=UNIX_TIMESTAMP('201

php - MySQL 和 INT auto_increment 字段

自从我记得自己以来,我正在使用LAMP(Linux+Apache+MySQL+PHP)进行开发。但有一个问题困扰了我多年。我希望你能帮助我找到答案并指出正确的方向。这是我的挑战:比方说,我们正在创建一个社区网站,我们允许我们的用户在该网站上注册。我们存储所有用户的MySQL表将如下所示:CREATETABLE`users`(`uid`int(2)unsignedNOTNULLauto_incrementCOMMENT'UserID',`name`varchar(20)NOTNULL,`password`varchar(32)NOTNULLCOMMENT'Passwordissaveda

php - MySQL优化: Perform Maths operation inside or outside of a query?

我有一种强烈的感觉,所有对查询本身不必要的数学运算都应该在查询之外执行。例如:$result=mysql_query(SELECTa,a*b/casscoreFROMtable)while($row=mysql_fetch_assoc($result)){echo$row['a'].'score:'.$row['score'].;}对比:$result=mysql_query(SELECTa,b,cFROMtable)while($row=mysql_fetch_assoc($result)){echo$row['a'].'score:'.$row['a']*$row['b']/$ro