我正在这里处理一些显示复杂的问题。 我确定有一个IF / ELSEfunction我只是俯瞰。 我有两个表,我查询(客户,地址)。 第一个有主要logging,但第二个可能有或没有logging到左边join。 如果地址表中没有logging,我想显示一个零。 我想只显示1,如果有logging存在。 我到目前为止的尝试: SELECT c.name, COALESCE(a.addressid,0) AS addressexists FROM customers c LEFT JOIN addresses a ON c.customerid = a.customerid WHERE customerid = 123 这第一个例子不这样做。 但是我可能正在利用COALESCE错误。 如何显示一个0,如果为null,则为1,如果存在的话?
大约一个月前我下载了XAMPP,并且工作得很好。 今天我安装了语音识别软件,然后重新启动了我的电脑。 从此以后,MySQL不会在我的manager-osx应用程序中启动。 它不会让我进入应用程序日志。 这就是它说的: Stopping all servers… Stopping Apache Web Server… /Applications/XAMPP/xamppfiles/apache2/scripts/ctl.sh : httpd stopped Stopping ProFTPD… Checking syntax of configuration file /Applications/XAMPP/xamppfiles/proftpd/scripts/ctl.sh : proftpd stopped Restarting all servers… Starting MySQL Database… Starting Apache Web Server… /Applications/XAMPP/xamppfiles/apache2/scripts/ctl.sh : httpd started Starting ProFTPD… Checking syntax of configuration file /Applications/XAMPP/xamppfiles/proftpd/scripts/ctl.sh : proftpd started 我的ProFTPD和我的Apache Web服务器都在运行。 MySQL不是。 […]
按照定义: VARCHAR:长度的范围是1到255个字符。 除非给出BINARY关键字,否则VARCHAR值将以大小写不敏感的方式进行sorting和比较。 x + 1个字节 TINYBLOB,TINYTEXT:最大长度为255(2 ^ 8 – 1)个字符x + 1个字节的BLOB或TEXT列 所以基于这个,我创build了下面的表格: CREATE TABLE `user` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `name` varchar(255), `lastname` tinytext, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 还是创build一个varchar或tinytext更好? 为什么 ? 这是一样的: VARCHAR:长度的范围是> 255个字符。 除非给出BINARY关键字,否则VARCHAR值将以大小写不敏感的方式进行sorting和比较。 x + 2个字节 BLOB,TEXT最大长度为65535(2 ^ 16 – 1)个字符x + 2个字节的BLOB或TEXT列
我正在尝试在我的数据库中做一些数据库的mysql转储。 然后我可以使用转储将这几行上传到另一个数据库。 我拥有的代码正在工作,但它会把所有东西都抛弃。 我怎样才能让mysqldump只转储表的某些行? 这是我的代码: mysqldump –opt –user=username –password=password lmhprogram myResumes –where=date_pulled='2011-05-23' > test.sql
我试图追查一个删除mysql表中的行的错误。 对于我来说,我不能在我的PHP代码中追踪它,所以我想通过查找删除行的实际mysql查询来反向工作。 我login到phpmyadmin,但无法find一种方式来查看过去的SQL操作的历史。 有没有办法在phpmyadmin中查看它们?
我想在SQL代码中添加注释。 我怎样才能做到这一点? 我正在使用MySQL。
我知道做这样的查询通常是一个坏主意: SELECT * FROM `group_relations` 但是,当我只是想要计数,我应该去这个查询,因为这允许表更改,但仍产生相同的结果。 SELECT COUNT(*) FROM `group_relations` 或者更具体的 SELECT COUNT(`group_id`) FROM `group_relations` 我有一种感觉,后者可能会更快,但还有其他的事情要考虑吗? 更新 :我在这种情况下使用InnoDB,抱歉没有更具体。
是否可以SELECT两个或更多值中的最小值或最大值。 我需要这样的东西: SELECT MAX_VALUE(A.date0, B.date0) AS date0, MIN_VALUE(A.date1, B.date1) AS date1 FROM A, B WHERE Bx = Ax 我可以通过只使用MySQL来实现吗?
好的,这是问题所在。 我有一个表和一些列,“主题”是其中的一列。 无论“主题”字段包含一个包含100个字母的string,我都需要从“主题”字段获取前10个字母。 例如, 表 – tbl 。 列 – id , subject , value 。 SQL查询: SELECT subject FROM tbl WHERE id ='$id'; 例如,我得到的结果是 你好,这是我的主题,你好吗 我只需要前10个字符 你好 我可以理解,我可以使用php substr()删除其余的字符,但在我的情况下,这是不可能的。 我需要得到由MySQL删除多余的字符。 如何才能做到这一点?
我正在寻找一种方法来通过MySQL查询更新一个string的一部分。 例如,如果我有10个logging全部包含“string”作为字段值的一部分(即'something / string','something / stringlookhere','something / string / etcetera',是否有方法来改变'string '通过一个查询为每行查询'anothervalue',以便结果是'something / anothervalue','something / anothervaluelookhere','something / string / etcetera',有没有办法改变'anothervalue'