Tag: MySQL

MySQL中的个案陈述

有一个表' tbl_transaction ' id INT(11) Primary Key action_type ENUM('Expense', 'Income') action_heading VARCHAR (255) action_amount FLOAT 是否有可能得到结果只使用SQL查询列出费用金额列中的所有费用金额和收入金额列中的收入金额列如: ID Heading Income Amt Expense Amt 1 ABC 1000 – 2 XYZ – 2000 我使用MySQL作为数据库。 我正在尝试使用CASE语句。 干杯!

添加30分钟到datetime php / mysql

我在MySQL中有一个date时间字段(endTime)。 我使用gmdate()来填充这个endTime字段。 存储的值是类似于2009-09-17 04:10:48。 我想在此结束时间添加30分钟,并将其与当前时间进行比较。 即)用户被允许在他的结束时间内只做30分钟的某个任务。 结束30分钟后,我不应该让他做任务。 我怎么能做到这一点在PHP? 我使用gmdate来确保没有区域差异。 提前致谢

请安装mysql适配器'gem install activerecord-mysql-adapter'

我很难find解决这个问题的方法。 我收到错误: Please install the mysql adapter: 'gem install activerecord-mysql-adapter' /Users/ Andy/.rvm/gems/ruby-1.9.2-p290@global/gems/bundler-1.0.21/lib/bundler/rubygems_integration.rb:143:in `block in replace_gem': Please install the mysql adapter: `gem install activerecord-mysql-adapter` (mysql is not part of the bundle. Add it to Gemfile.) (LoadError) from /Users/ Andy /mysql2/ruby/1.9.1/gems/activerecord-3.2.1/lib/active_record/connection_adapters/mysql_adapter.rb:5:in `<top (required)>' from /Users/ Andy /mysql2/ruby/1.9.1/gems/activesupport-3.2.1/lib/active_support/dependencies.rb:251:in `require' from /Users/ Andy /mysql2/ruby/1.9.1/gems/activesupport-3.2.1/lib/active_support/dependencies.rb:251:in `block in require' from /Users/ […]

MySQL查询随机滞后

我有一个查询,看起来像这样: SELECT id FROM user WHERE id='47' 该ID已编入索引,并且使用分析数据时,此查询的读取速度始终很快,如下所示。 SET profiling = 1; SHOW PROFILES; 查询总是在大约0.0002秒内执行。 但是,如果我从PHP侧面查询查询,如下所示: $current = microtime(true); $data = $conn->query($full_query); $elapsed = microtime(true) – $current; 然后偶尔有50个这样的查询中的1个会花费0.2秒。 然而,在我的testing脚本中,我有代码来testing这个configuration文件查询使用SET profiling = 1; 即使通过PDO的PHP往返时间可能是0.2秒,查询时间仍然是0.0002。 我知道的东西,或者知道不是造成这个问题: 查询不慢。 当我查看相同的查询时,从相同的查询运行,在PHP中进行概要分析并使用SET PROFILING进行概要分析,查询总是很快,并且从不login缓慢的查询日志,即使它显示从PHP端花费0.2秒。 这不是skip-name-resolve相关 – 这是不一致的,我已经跳过名称parsing 这不是查询caching相关的,行为存在于两者中 甚至在从caching中出来的查询时也会发生这种行为。 该查询实际上并不selectID,但我使用此查询进行testing,以显示它不是磁盘访问问题,因为该字段肯定是索引的。 这张桌子只有10-20兆像一个1兆指数。 机器显示非常小的负载,innodb没有使用所有的缓冲区。 除了我的testing查询之外,这是针对没有其他活动的表进行testing的。 有没有人有什么想检查什么? 这似乎是一个networking问题,但我需要能够看到它,并find问题来解决它,我没有地方检查下一步。 有任何想法吗?

MySQL – 一对一的关系?

现在我知道关于一对一关系有一些答案,但他们都没有回答我的问题,所以请在表决之前阅读这个:) 我试图在MySQL数据库中实现一对一的关系。 例如让我说我有用户表和帐户表。 而且我想确定有用户只能有一个帐户。 而且每个用户只能有一个帐户。 我发现了两个解决scheme,但不知道该用什么,还有其他的select。 第一个scheme DROP DATABASE IF EXISTS test; CREATE DATABASE test CHARSET = utf8 COLLATE = utf8_general_ci; USE test; CREATE TABLE users( id INT NOT NULL AUTO_INCREMENT, user_name VARCHAR(45) NOT NULL, PRIMARY KEY(id) ) ENGINE = InnoDB DEFAULT CHARSET = utf8; CREATE TABLE accounts( id INT NOT NULL AUTO_INCREMENT, account_name VARCHAR(45) […]

从PDO准备语句获取查询

有没有办法检索用于生成PDO Prepared语句对象的查询?

如何同步开发和生产数据库

你知道任何应用程序来同步两个数据库 – 在开发过程中,有时需要添加一个或两个表行或新的表或列。 通常我会在某个文件中写入每个sql语句,并且在上传path中,我会在生产数据库中对这些行进行更新(先前对其进行备份)。 我使用mySQL和postreSQL数据库。 你的做法是什么,什么应用程序可以帮助你。

将大量匹配logging到MySQL数据库的最佳实践

那么,这是事情。 假设我未来的PHP CMS需要每天驱动50万个访问者,并且需要将它们全部logging在MySQL数据库(引用者,IP地址,时间等)中。 这样我需要每分钟插入300-500行,并更新50。 主要的问题是每次我想插入新行时脚本都会调用数据库,这是每次有人打一个页面。 我的问题是,有什么办法来本地caching传入命中(以及什么是最好的解决scheme,apc,csv …?),并定期例如每10分钟发送到数据库? 这是一个好的解决scheme,这种情况下的最佳做法是什么?

什么是自动增量在mysql中可以产生的最大的ID号码

我有一个数据库,迅速填充数据,我们每天谈论10-20K行。 什么是ID和自动增量选项的限制? 如果ID被创build为INTEGER那么我可以做最大值2,147,483,647无符号值? 但是什么时候自动增量超过这个? 这一切都崩溃了吗? 那么什么解决scheme? 我相信很多人都有大的数据库,我想听听他们。 谢谢。

BIGINT(8)是mysql可以存储的最大整数吗?

我有一些现在比INT更大的数字可以处理。 这有些尴尬,但是我真的不知道BIGINT(8)究竟是什么意思。 8是最大值还是最大值? 所以BIGINT(1)只能是一个数字? 还是BIGINT(1)还有别的? 我认为tinyint(1)max是127,那怎么办? BIGINT最大的是什么? 什么是我可以存储在MySQL中作为一个整数的最大数字?