Tag: MySQL

MySQLselect与CASE或IF ELSEIF语句? 不知道如何得到结果

我有两张桌子。 一个有制造商的信息,包括他们可以出售的地区。 另一个有他们的产品出售。 我们必须根据地区来限制产品的可视性。 这就好像Netflix在他们的系统中只有在加拿大(2),美国(3)才能看到的video。 我试图做一个查询,告诉我可以根据制造商表中的设置查看产品的位置。 例如,在制造商表中,有两个名为expose_new和expose_used的字段,每个字段的值都是1,2或3,以限制其新video或已用video的位置。 添加video时,不会为其指定“曝光”值,而是根据当前制造商的Expos_new或expose_used值将其添加到索引中时即可完成。 我想要得到的是项目详细信息和计算值,可以根据是新build项目还是已使用项目以及为所有新产品或已使用产品分配给制造商的规则/值。 我需要这个单个数字在每个产品的基础上有条件地显示在列表中。 以下是行不通的,但是你会明白我正在尝试做什么。 我已经用CASE语句和下面的错误IF / ELSEIF语句尝试了这一点。 任何帮助debugging这一点,并指出我在正确的方向将不胜感激。 SELECT t2.company_name, t2.expose_new, // 1,2 or 3 t2.expose_used, // 1,2 or 3 t1.title, t1.seller, t1.status, //can be new or used (SELECT IF(status ='New', (select expose_new from manufacturers where id = t1.seller),1 ) ELSEIF(t1.status ='Used', (select expose_used from manufacturers where id […]

在一个MySQL表中创build一个ID auto_increment(事实之后)

我从另一个开发者处获得了一个数据 他没有在任何表上使用auto_incrementers。 他们都有主键ID,但是他用代码手动完成了所有的增量操作。 我现在可以将其转换成Auto_incrementers吗? 哇,非常好,谢谢。 它在我的一张桌子上顺利运作。 但是第二个表,我得到这个错误…重命名'。\ DBNAME#sql-6c8_62259c'到'。\ DBNAME \ dealer_master_events'

mysql加载数据infile无法获取文件的状态Errcode:2

我已经找遍了,发现没有解决办法,任何帮助,这将是伟大的。 查询: LOAD DATA INFILE '/Users/name/Desktop/loadIntoDb/loadIntoDB.csv' INTO TABLE `tba`.`tbl_name` FIELDS TERMINATED BY ',' LINES TERMINATED BY '\r\n' IGNORE 1 LINES ( field1, field2, field3 ) 错误: Can't get stat of '/Users/name/Desktop/loadIntoDb/loadIntoDB.csv' (Errcode:2) 注意: 我在OSX 10.6.4上运行MySQL Query浏览器,连接到MySQL 5.x 我试过的东西: 拖放正下降 Chmod 777 放入一个具有777权限的文件夹以及具有777权限的文件

如何处理由mysqldump创build的巨大的行长度

我在cron作业中使用mysqldump来备份超过200万行的数据库。 它创build一个文本文件,可用于从命令行恢复数据logging。 我认为在还原之前编辑转储是一个很有用的方法,可以快速改变值和表或列名 – 至less直到我学到更多东西,并且对使用ALTER和UPDATE做更有信心。 编辑大型文本文件并不困扰我,但是我惊奇地发现,在250兆字节的数据库转储中, 只有大约300行 。 每一行都是800k字符长。 是否有另一种方式来产生更多的控制行长的转储? 还是应该用sed或Perl等工具后处理转储?

如何在DATETIME中分配DATE和TIME

我在表中存储一个DATETIME字段。 存储后它的价值如2012-09-09 06:57:12 。 为了存储我使用的语法: date("Ymd H:i:s"); 现在我的问题是,在获取数据的同时,如何使用单个MySQL查询将date和时间分开 。 date如2012-09-09和时间喜欢06:57:12 。

MySQL的date时间比较

例如下面的查询工作正常: SELECT * FROM quotes WHERE expires_at <= '2010-10-15 10:00:00'; 但是,这显然是执行“string”比较 – 我想知道是否有一个内置于MySQL的函数,特别是“date时间”比较。

来自两个或更多领域的最大价值

我需要从两个领域获得最大的价值: SELECT MAX(field1), MAX(field2) 现在,我怎么才能从这两个方面获得最大的价值呢?

如何更改MySQL表的默认字符集?

有一个MySQL table ,这个定义取自SQLYog Enterprise : Table Create Table —————– ——————————————————— etape_prospection CREATE TABLE `etape_prospection` ( `etape_prosp_id` int(10) NOT NULL AUTO_INCREMENT, `type_prosp_id` int(10) NOT NULL DEFAULT '0', `prosp_id` int(10) NOT NULL DEFAULT '0', `etape_prosp_date` datetime DEFAULT NULL, `etape_prosp_comment` text, PRIMARY KEY (`etape_prosp_id`), KEY `concerne_fk` (`prosp_id`), KEY `de_type_fk` (`type_prosp_id`) ) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=latin1 我想把这个表的default charset从latin1改为utf8 。 […]

如何使用bind_result与get_result的示例

我想看一个如何使用bind_result和get_result调用的例子,以及使用另一个的目的是什么。 也使用每个的亲和好。 什么是使用的限制,是否有区别。

MySQL:没有更新时间戳更新条目

我有一个MySQL表中的属性“ON UPDATE CURRENT_TIMESTAMP”的时间戳。 有没有办法手动禁用在特殊场合更新时间戳? (例如:更新条目来修改博客文章,但不能重新约会)