Tag: MySQL

MySQL VARCHAR长度和UTF-8

在MySQL中,如果我在UTF-8表中创build一个新的VARCHAR(32)字段,这是否意味着我可以在该字段中存储32个字节的数据或32个字符(多字节)?

用单个查询查找mysql表中的所有父项(recursion查询)

我有这个模式 示例数据 | ID | TITLE | CONTROLLER | METHOD | PARENT_ID | |—-|——————-|————|——————-|———–| | 1 | Dashboard | admin | dashboard | 0 | | 2 | Content | admin | content | 0 | | 3 | Modules | admin | modules | 0 | | 4 | Users | admin | users […]

MySQL更新查询中的“字段列表”错误中的未知列

试图执行此更新查询时,我不断收到MySQL错误#1054: UPDATE MASTER_USER_PROFILE, TRAN_USER_BRANCH SET MASTER_USER_PROFILE.fellow=`y` WHERE MASTER_USER_PROFILE.USER_ID = TRAN_USER_BRANCH.USER_ID AND TRAN_USER_BRANCH.BRANCH_ID = 17 这可能是一些语法错误,但我已经尝试使用内部连接,而不是其他的改变,但我不断收到相同的消息: Unknown column 'y' in 'field list'

MySQLselectCONCAT条件

我试图在我的脑海里编译这个..我有一个名字和姓氏字段的表,我有一个像“鲍勃琼斯”或“鲍勃·迈克尔琼斯”和其他几个string。 事情是,我有例如鲍勃在名,迈克尔·琼斯在姓氏 所以我试图 SELECT neededfield, CONCAT(firstname, ' ', lastname) as firstlast FROM users WHERE firstlast = "Bob Michael Jones" 但它说未知列“firstlast”..任何人都可以帮忙吗?

MySQL“之间”的条款不包括在内?

如果我使用between子句运行查询,它似乎排除结束值。 例如: select * from person where dob between '2011-01-01' and '2011-01-31' 这从“2011-01-01”到“2011-01-30”获得了dob所有结果; 跳过loggingdob是“2011-01-31”的logging。 任何人都可以解释为什么这个查询的行为是这样的,我怎么可以修改它包括logging,其中dob是'2011-01-31'? (因为用户已经select了结束date而不加1)。

在PHP中将MySQL数据导出到Excel

我试图让我的MySQL数据到Excel文件,但我有Excel单元格的问题。 我所有的文本都去了一个单元格,我想每个单独的Excel单元格中的行值。 这是我的代码: $queryexport = (" SELECT username,password,fullname FROM ecustomer_users WHERE fk_customer='".$fk_customer."' "); $row = mysql_fetch_assoc($queryexport); $result = mysql_query($queryexport); $header = ''; for ($i = 0; $i < $count; $i++){ $header .= mysql_field_name($result, $i)."\t"; } while($row = mysql_fetch_row($result)){ $line = ''; foreach($row as $value){ if(!isset($value) || $value == ""){ $value = "\t"; }else{ $value = […]

WAMP无法在本地networking上访问403禁止

我知道这个问题已经被问了很多次了 我遵循互联网上的大部分答案,但我仍然得到相同的消息 403禁止 您无权访问/在此服务器上。 奇怪的是,当我使用相同的PC访问localhost:1234它运行正常,但如果我访问使用我的IP地址192.168.0.188:1234 还有一个很奇怪的地方是我试图在其他PC上安装WAMP,而且没有任何configuration可以访问那台PC。 所以我认为这是因为迈克菲和防火墙,所以我打开了寡妇和迈克菲的端口,没有任何改变,我关掉了防火墙,仍然没有改变。 那么没有理由我打开端口通过路由器“端口转发”,仍然没有任何改变。 我不认为这是因为我在WAMP中的configuration,因为我仍然能够得到这个403 Forbidden消息,也可以通过使用其他PC而没有任何configuration,我可以访问它。 两台PC都是这样设置的: Windows 8专业版 WAMP Wampserver: 2.4 Apache版本: 2.4.4 PHP版本: 5.4.12 MySQL版本: 5.6.12 可访问的PC使用Microsoft Security Essentials 。 无法访问的PC使用McAfee Internet Security 。 我试图closuresWAMP,并启动IIS的微软服务器(我工作完美从任何PC),但WAMP仍然无法正常工作 我遵循这些教程: 如何访问LAN或WAN中的WAMP服务器 安装和设置WAMP的虚拟主机指南 安装和设置LAN和全球WAMP访问指南 和堆栈溢出答案在这里: 无法访问本地networking上的wamp服务器 WAMP 403禁止在Windows 7上的消息

将数组传递给MySQL存储的例程

我需要将一个string数组作为parameter passing给MySQL存储例程。 该数组可能会很长,其元素数量不固定。 然后我想把string值放到一列内存表中,这样我就可以处理数据了。 我不知道这是否可以在MySQL中完成。 也许肮脏的解决方法是必要的。 例如,我有香蕉 , 苹果和桔子的string。 现在我想从我的MySQL Fruits表中获取这些水果的数据。 伪代码: create function GetFruits(Array fruitArray) declare @temp table as fruitName varchar(100) end @temp = convert fruitArray to table select * from Fruits where Name in (select fruitName from @temp) end Microsoft SQL Server允许您使用TEXT数据types并将数组作为XMLstring提交,从而快速创build内存表。 但是,我不认为这种技术在MySQL中是可能的。 任何帮助如何做到这一点将不胜感激!

MySQL不使用WHERE IN子句中的索引?

我试图优化我的Rails应用程序中的一些数据库查询,我有几个让我难住。 他们都在WHERE子句中使用了一个IN,并且即使恰当的索引似乎已经到位,他们也都在进行全表扫描。 例如: SELECT `user_metrics`.* FROM `user_metrics` WHERE (`user_metrics`.user_id IN (N,N,N,N,N,N,N,N,N,N,N,N)) 执行全表扫描和说明: select_type: simple type: all extra: using where possible_keys: index_user_metrics_on_user_id (which is an index on the user_id column) key: (none) key_length: (none) ref: (none) rows: 208 在使用IN语句时是不是使用了索引,还是我需要做一些不同的事情? 这里的查询是由Rails生成的,所以我可以重新审视我的关系是如何定义的,但是我想我会先从数据库级别的潜在修复开始。

JOIN查询与多个查询

JOIN查询比几个查询更快吗? (您运行主查询,然后根据主查询的结果运行许多其他SELECT) 我在问,因为join它们会使我的应用程序的devise变得复杂 如果他们更快,谁能粗略估计多less? 如果它是1.5倍,我不在乎,但如果是10倍,我想我可以。