Questions tagged «mysql»

MySQL的所有版本(不是Microsoft SQL Server)。如果与此问题相关,还请添加特定于版本的标记,例如mysql-5.7。

3
用MySQL实现版本控制系统
我知道这里和这里都曾有人问过这个问题,但是我有相同的想法,但可能的实现方式有所不同,我需要一些帮助。 最初,我的blogstories表具有以下结构: | Column | Type | Description | |-----------|-------------|------------------------------------------------| | uid | varchar(15) | 15 characters unique generated id | | title | varchar(60) | story title | | content | longtext | story content | | author | varchar(10) | id of the user that originally wrote the …


1
“ LIMIT 0,1”和“ LIMIT 1”之间有什么区别吗?
我最近偶然发现了示例代码,这些代码与这些符号有所不同。 SELECT * FROM table LIMIT 0, 1 SELECT * FROM table LIMIT 1 如果我没记错的话,第一个参数应被视为偏移量,这两个查询的目的是将选择范围限制为 table 忽略偏移量时是否有负面影响/如何首先排除偏移量?还是我误解了查询?
15 mysql 

1
MySQL 5.6 DateTime错误的日期时间值:“ 2013-08-25T17:00:00 + 00:00”,错误代码1292
我正在使用MySQL 5.6,并且我有一个针对我的数据库运行以下SQL语句的程序: UPDATE `m_table` SET `s_time` = '2013-08-25T17:00:00+00:00' WHERE id = '123' 不幸的是,我收到以下错误:第1行的's_time'列的日期时间值不正确:'2013-08-25T17:00:00 + 00:00' s_time的数据类型为DateTime。 我已经尝试使用工作台设置allow_invalid_dates属性。 谁能理解并请向我解释此错误?我知道,如果我手动将语句更改为UPDATE m_tableSET s_time='2013-08-25 17:00:00'WHERE id ='123',则该语句有效。 不幸的是,我无法修改提供SQL语句的程序(程序创建者告诉我该语句是有效的),并且我也无法理解+00:00的含义。 谢谢
15 mysql  datetime 

4
递归自我联接
我有一张comments桌子,可以简化为: comments ======= id user_id text parent_id where parent_id可为空,但可能是其父注释的键。 现在,我该如何select评论所有后代? 评论可能会降低几个级别...

2
该表被标记为已崩溃,应予以修复
我已经安装了MySQL和Nagios Linux PC(Centos5.5) 我已经编写了一些脚本来将数据从Nagios提取到Mysql DB(完全在Table中提取数据) 数据获取正常工作(已通过“ COUNT” cmd确认) 我在运行以下命令时遇到的问题如下: mysql>从nagios_servicechecks选择*; 错误1194(HY000):表'nagios_servicechecks'被标记为已崩溃,应予以修复 除此命令外,其他所有命令都可以正常工作。
15 mysql  linux  restore 

2
索引是否必须覆盖所有选定的列才能用于ORDER BY?
在SO上,最近有人问为什么不使用ORDER BY? 这种情况涉及MySQL中的一个简单的InnoDB表,该表包含三列和1万行。其中一列(整数)被索引了,OP试图检索按该列排序的整个表: SELECT * FROM person ORDER BY age 他附加了EXPLAIN输出,该输出显示此查询是使用filesort(而不是索引)解决的,并询问为什么会这样。 尽管有提示 FORCE INDEX FOR ORDER BY (age) 导致使用索引的提示,但有人回答(带有支持的注释/来自他人的评论)说,仅当从索引中读取所有选定的列时,索引才用于排序(即通常由Using index该Extra列中的指示)的EXPLAIN输出)。稍后给出了一个解释,即遍历索引然后从表中获取列会导致随机I / O,MySQL认为它比a更昂贵filesort。 这似乎是在关于ORDER BY优化的手册一章中碰到的,它不仅传达出强烈的印象,即ORDER BY从索引满足比执行其他排序更可取(实际上,它filesort是quicksort和mergesort的组合,因此 必须具有下限;虽然应该按顺序遍历索引并查找表,所以这很有意义),但它也忽略了此所谓的“优化”,同时还指出:Ω(nlog n)O(n) 以下查询使用索引来解析ORDER BY零件: SELECT * FROM t1 ORDER BY key_part1,key_part2,... ; 就我的阅读而言,在这种情况下就是这种情况(但没有明确提示就没有使用索引)。 我的问题是: 确实有必要为所有选定的列建立索引以便MySQL选择使用索引吗? 如果是这样,在哪里记录(如果有的话)? 如果没有,这里发生了什么?
15 mysql  index  innodb  order-by 

7
如何使用加密字段搜索MySQL数据库
假设我需要加密某些表的字段上的MySQL数据库。另外,我需要搜索一些我加密过的字段。 无论如何,如何搜索这些字段? 不能一步一步地解密每个记录:假设我有成千上万的记录。解密每个记录并检查每个记录是否与搜索匹配将花费太多时间和空间。 更新2012-09-07 向数据库架构添加更多详细信息将是可以的,因为我将要实现一个新应用程序。此外,我需要扩展当前在生产环境中运行的应用程序。但是即使对于那些应用程序,也可以添加更多详细信息。 更新2012-09-08 加密是这个问题的核心。 正如一些答案所建议的那样,访问限制已经适用-但不符合加密数据的正式要求。 此正式要求不是 支付卡行业数据安全标准 [PCI]。
15 mysql 


3
PostgreSQL与MySQL:空间特征比较
我们正在构建具有空间数据组件的Web应用程序。首先,我们的空间数据比较将获取一个给定的点,并返回匹配的重叠空间多边形。 话虽如此,我们的数据库还有许多其他组件,其中包括您在常规关系数据库中可以找到的所有典型内容。 在项目中,我们必须选择要使用的数据库解决方案。 所有项目成员都对MySQL的实现和管理更加熟悉,但是所有研究表明PostgreSQL是更好的解决方案-特别是在使用postGIS的空间数据方面。 我们期望(希望)我们的应用程序在许多并发用户中会经历很多动作。 是否有任何将MySQL用作具有空间数据组件的RDBMS的经验的人有长期的建议/经验? 除熟悉之外,使用PostGIS是否有任何缺点?

2
“复制到tmp表”非常慢
这是我的查询示例: SELECT nickname, CASE class_id WHEN 1 THEN 'Druid' WHEN 2 THEN 'Necromancer' WHEN 3 THEN 'Mage' WHEN 4 THEN 'Priest' WHEN 5 THEN 'Warrior' WHEN 6 THEN 'Stalker' WHEN 7 THEN 'Paladin' WHEN 8 THEN 'Psionic' END class_name, ROUND(AVG(level),2) level, ROUND(AVG(tabard_id),2) tabard, CASE rank_id WHEN 1 THEN 'Leader' WHEN …

1
无法从mysql.user中删除匿名用户
我试图从mysql.users数据库中删除匿名用户。但是,我的行为一直很奇怪。当我输入命令时: DROP User ''@'WOPR'; 我收到一般错误消息。因此,我重新启动了机器,然后再次尝试。这次我得到了回应 Query OK, 0 rows affected. 但是当我把 SELECT User, Host, Password FROM mysql.user WHERE User=''; 返回是: +------+------+----------+ | User | Host | Password | +------+------+----------+ | | WOPR | | +------+------+----------+ (WOPR是我的主机名) 我运行命令 DROP User ''@'WOPR'; 并得到相同的结果。 我正在Arch Linux 2.6.33版上运行MySQL 5.5的全新安装。 有谁知道会导致这种行为的原因吗?
15 mysql 


3
为什么我的.my.cnf设置不起作用?
我的桌面上的主目录中有一个.my.cnf文件,该文件包括: [dbid] user = myusername password = mypassword database = dbname host = server.location.com 如果我没记错的话,在从Ubuntu 10.04升级到11.04之前,我能够使用以下命令 mysql dbid 直接连接到数据库 但是今天我得到了这个错误: ERROR 1049 (42000): Unknown database 'dbname' 我做错什么了吗?


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.