﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-有时，退一步，能一口气进几步，只是这先退一步需要勇气和自信。-随笔分类-Mysql</title><link>http://www.blogjava.net/ducklyl/category/34653.html</link><description>用心爱你，努力工作。&lt;br/&gt;
</description><language>zh-cn</language><lastBuildDate>Tue, 02 Feb 2010 20:06:26 GMT</lastBuildDate><pubDate>Tue, 02 Feb 2010 20:06:26 GMT</pubDate><ttl>60</ttl><item><title>[轉]You can't specify target table 'A' for update in FROM clause</title><link>http://www.blogjava.net/ducklyl/archive/2010/01/28/311063.html</link><dc:creator>王生生</dc:creator><author>王生生</author><pubDate>Thu, 28 Jan 2010 04:56:00 GMT</pubDate><guid>http://www.blogjava.net/ducklyl/archive/2010/01/28/311063.html</guid><wfw:comment>http://www.blogjava.net/ducklyl/comments/311063.html</wfw:comment><comments>http://www.blogjava.net/ducklyl/archive/2010/01/28/311063.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/ducklyl/comments/commentRss/311063.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/ducklyl/services/trackbacks/311063.html</trackback:ping><description><![CDATA[<div class="g_blog_list">
<div class="g_t_center g_c_pdin g_p_center c07 content" id="blogtext_fks_087068087080085065093080085095085084080069087084085065">
<div class="ns_content">
<p style="text-indent: 2em;">mysql&gt; UPDATE EACONTACTGROUPS A </p>
<p style="text-indent: 2em;">SET GROUPNAME=(SELECT
CONCAT(B.GROUPNAME,'-',A.GROUPNAME) FROM EACONTACTGROUPS B WHERE
B.CORPID=A.CORPID AND B.USERID=A.USERID AND B.GROUPID=A.PARENTGROUPID) </p>
<p style="text-indent: 2em;">WHERE A.PARENTGROUPID IS NOT NULL;</p>
<p style="text-indent: 2em;">ERROR 1093 (HY000): You can't specify target table 'A' for update in FROM clause</p>
<p style="text-indent: 2em;">上面是目前MYSQL5.0仍然有的限制，文档中说：</p>
<p style="text-indent: 2em;">
</p>
<li>
<p style="text-indent: 2em;">In general, you cannot modify a table and
select from the same table in a subquery. For example, this limitation
applies to statements of the following forms: </p>
<p style="text-indent: 2em;">DELETE FROM t WHERE ... (SELECT ... FROM t
...);UPDATE t ... WHERE col = (SELECT ... FROM t ...);{INSERT|REPLACE}
INTO t (SELECT ... FROM t ...);</p>
<p style="text-indent: 2em;">Exception: The preceding prohibition does not apply if you are using a subquery for the modified table in the </p>
<p style="text-indent: 2em;">FROM</p>
<p style="text-indent: 2em;">clause. Example: </p>
<p style="text-indent: 2em;">UPDATE t ... WHERE col = (SELECT (SELECT ... FROM t...) AS _t ...);</p>
<p style="text-indent: 2em;">Here the prohibition does not apply because a subquery in the </p>
<p style="text-indent: 2em;">FROM</p>
<p style="text-indent: 2em;">clause is materialized as a temporary table, so the relevant rows in </p>
<p style="text-indent: 2em;">t</p>
<p style="text-indent: 2em;">have already been selected by the time the update to </p>
<p style="text-indent: 2em;">t</p>
<p style="text-indent: 2em;">takes place. 依据文档，改成下面的样子就行了：</p>
<p style="text-indent: 2em;">mysql&gt; UPDATE EACONTACTGROUPS A </p>
</li>
<p style="text-indent: 2em;">SET GROUPNAME=(SELECT
CONCAT(B.GROUPNAME,'-',A.GROUPNAME) FROM ( SELECT
GROUPNAME,CORPID,USERID,GROUPID,PARENTGROUPID FROM EACONTACTGROUPS) B </p>
<p style="text-indent: 2em;">WHERE B.CORPID=A.CORPID AND B.USERID=A.USERID AND B.GROUPID=A.PARENTGROUPID) </p>
<p style="text-indent: 2em;">WHERE A.PARENTGROUPID IS NOT NULL;</p>
<p style="text-indent: 2em;">Query OK, 16 rows affected (0.01 sec)</p>
<p style="text-indent: 2em;">Rows matched: 16 Changed: 16 Warnings: 0</p>
<p style="text-indent: 2em;"><font color="#ff0000">注:今天写一个删除语句时找到的一点资料.解决了一个简单的删除语句.呵呵,以后注意了,</font>
</p>
<p style="text-indent: 2em;"><font color="#ff0000">原句:delete&nbsp; from menu_item&nbsp; where parent_id =(select menu_item_id from menu_item where menu_data like '%manageVendors%');</font>
</p>
<p style="text-indent: 2em;"><font color="#ff0000">修改后:delete&nbsp; from
menu_item&nbsp; where parent_id =(select temp.menu_item_id from (select
m.menu_item_id,m.menu_data from menu_item m) temp where temp.menu_data
like '%manageVendors%');</font></p>
<p style="text-indent: 2em;"></p>
</div>
</div>
</div>
<img src ="http://www.blogjava.net/ducklyl/aggbug/311063.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/ducklyl/" target="_blank">王生生</a> 2010-01-28 12:56 <a href="http://www.blogjava.net/ducklyl/archive/2010/01/28/311063.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>MySql的字符串函数</title><link>http://www.blogjava.net/ducklyl/archive/2009/11/24/303464.html</link><dc:creator>王生生</dc:creator><author>王生生</author><pubDate>Tue, 24 Nov 2009 05:38:00 GMT</pubDate><guid>http://www.blogjava.net/ducklyl/archive/2009/11/24/303464.html</guid><wfw:comment>http://www.blogjava.net/ducklyl/comments/303464.html</wfw:comment><comments>http://www.blogjava.net/ducklyl/archive/2009/11/24/303464.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/ducklyl/comments/commentRss/303464.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/ducklyl/services/trackbacks/303464.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: Normal07.8 pt02falsefalsefalseMicrosoftInternetExplorer4/* Style Definitions */table.MsoNormalTable{mso-style-name:"Table Normal";...&nbsp;&nbsp;<a href='http://www.blogjava.net/ducklyl/archive/2009/11/24/303464.html'>阅读全文</a><img src ="http://www.blogjava.net/ducklyl/aggbug/303464.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/ducklyl/" target="_blank">王生生</a> 2009-11-24 13:38 <a href="http://www.blogjava.net/ducklyl/archive/2009/11/24/303464.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Mysql导出表结构及表数据 mysqldump用法</title><link>http://www.blogjava.net/ducklyl/archive/2009/11/06/301370.html</link><dc:creator>王生生</dc:creator><author>王生生</author><pubDate>Fri, 06 Nov 2009 02:14:00 GMT</pubDate><guid>http://www.blogjava.net/ducklyl/archive/2009/11/06/301370.html</guid><wfw:comment>http://www.blogjava.net/ducklyl/comments/301370.html</wfw:comment><comments>http://www.blogjava.net/ducklyl/archive/2009/11/06/301370.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/ducklyl/comments/commentRss/301370.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/ducklyl/services/trackbacks/301370.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp; 命令行下具体用法如下：&nbsp; mysqldump -u用戶名 -p密码 -d 數據库名 表名 脚本名;<br />
<br />
&nbsp;&nbsp;&nbsp; 1、导出數據库為dbname的表结构（其中用戶名為root,密码為dbpasswd,生成的脚本名為db.sql）<br />
&nbsp;&nbsp;&nbsp; mysqldump -uroot -pdbpasswd -d dbname &gt;db.sql;<br />
<br />
&nbsp;&nbsp;&nbsp; 2、导出數據库為dbname某张表(test)结构<br />
&nbsp;&nbsp;&nbsp; mysqldump -uroot -pdbpasswd -d dbname test&gt;db.sql;<br />
<br />
&nbsp;&nbsp;&nbsp; 3、导出數據库為dbname所有表结构及表數據（不加-d）<br />
&nbsp;&nbsp;&nbsp; mysqldump -uroot -pdbpasswd&nbsp; dbname &gt;db.sql;<br />
<br />
&nbsp;&nbsp;&nbsp; 4、导出數據库為dbname某张表(test)结构及表數據（不加-d）<br />
&nbsp;&nbsp;&nbsp; mysqldump -uroot -pdbpasswd dbname test&gt;db.sql;<br />
<br />
&nbsp;&nbsp;&nbsp; <br />
<br />
<img src ="http://www.blogjava.net/ducklyl/aggbug/301370.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/ducklyl/" target="_blank">王生生</a> 2009-11-06 10:14 <a href="http://www.blogjava.net/ducklyl/archive/2009/11/06/301370.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>把一个表中的数据插入到另一个表</title><link>http://www.blogjava.net/ducklyl/archive/2009/07/07/285821.html</link><dc:creator>王生生</dc:creator><author>王生生</author><pubDate>Tue, 07 Jul 2009 07:17:00 GMT</pubDate><guid>http://www.blogjava.net/ducklyl/archive/2009/07/07/285821.html</guid><wfw:comment>http://www.blogjava.net/ducklyl/comments/285821.html</wfw:comment><comments>http://www.blogjava.net/ducklyl/archive/2009/07/07/285821.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/ducklyl/comments/commentRss/285821.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/ducklyl/services/trackbacks/285821.html</trackback:ping><description><![CDATA[<div>
<p>很久沒用數據庫了，媽的竟然連批量插表都忘記了。在這里记录一下。</p>
<p>把表B中的字段，插入到表A中；</p>
<p><strong>INSERT&nbsp;INTO&nbsp;表A(字段名1,&nbsp;字段名2,&nbsp;&#8230;&#8230;)&nbsp;&nbsp;SELECT&nbsp;(字段名1,&nbsp;字段名2,&nbsp;&#8230;&#8230;)&nbsp;FROM&nbsp;表B;</strong></p>
<br />
<p><br />
</p>
</div>
<img src ="http://www.blogjava.net/ducklyl/aggbug/285821.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/ducklyl/" target="_blank">王生生</a> 2009-07-07 15:17 <a href="http://www.blogjava.net/ducklyl/archive/2009/07/07/285821.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>MYSQL 查询字段区分大小写</title><link>http://www.blogjava.net/ducklyl/archive/2009/05/22/277395.html</link><dc:creator>王生生</dc:creator><author>王生生</author><pubDate>Fri, 22 May 2009 10:26:00 GMT</pubDate><guid>http://www.blogjava.net/ducklyl/archive/2009/05/22/277395.html</guid><wfw:comment>http://www.blogjava.net/ducklyl/comments/277395.html</wfw:comment><comments>http://www.blogjava.net/ducklyl/archive/2009/05/22/277395.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/ducklyl/comments/commentRss/277395.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/ducklyl/services/trackbacks/277395.html</trackback:ping><description><![CDATA[MYSQL查询时区分字段值的大小写，则：字段值需要设置BINARY属性，设置的方法： <br />
<br />
A、创建时设置： <br />
CREATE TABLE T( <br />
A VARCHAR(10) BINARY <br />
); <br />
<br />
B、使用alter修改： <br />
ALTER TABLE `tablename` MODIFY COLUMN `cloname` VARCHAR(45) BINARY; <br />
<img src ="http://www.blogjava.net/ducklyl/aggbug/277395.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/ducklyl/" target="_blank">王生生</a> 2009-05-22 18:26 <a href="http://www.blogjava.net/ducklyl/archive/2009/05/22/277395.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>DELETE和TRUNCATE TABLE区别</title><link>http://www.blogjava.net/ducklyl/archive/2009/04/28/267944.html</link><dc:creator>王生生</dc:creator><author>王生生</author><pubDate>Tue, 28 Apr 2009 08:44:00 GMT</pubDate><guid>http://www.blogjava.net/ducklyl/archive/2009/04/28/267944.html</guid><wfw:comment>http://www.blogjava.net/ducklyl/comments/267944.html</wfw:comment><comments>http://www.blogjava.net/ducklyl/archive/2009/04/28/267944.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/ducklyl/comments/commentRss/267944.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/ducklyl/services/trackbacks/267944.html</trackback:ping><description><![CDATA[<font face="宋体">&nbsp;&nbsp;&nbsp; 在MySQL中有两种方法可以删除数据，一种是DELETE语句，另一种是TRUNCATE TABLE语句。DELETE语句可以通过WHERE对要删除的记录进行选择。而使用TRUNCATE TABLE将删除表中的所有记录。<br />
&nbsp;&nbsp;&nbsp; </font><font face="宋体">DELETE和TRUNCATE TABLE的最大区别：<br />
（1）DELETE可以通过WHERE语句选择要删除的记录。但执行得速度不快，可以返回被删除的记录数。而TRUNCATE TABLE无法删除指定的记录，而且不能返回被删除的记录。但它执行得非常快。<br />
（2）分别执行</font><font face="宋体">DELETE FROM Table_name与</font><font face="宋体">TRUNCATE TABLE Table_name<br />
&nbsp;&nbsp;&nbsp;&nbsp; 对执行</font><font face="宋体">TRUNCATE TABLE</font><font face="宋体"> Table_name后，</font><font face="宋体">Table_name中</font><font face="宋体">自增流水从新开始计算，而</font><font face="宋体">DELETE FROM Table_name则不会从新开始，会继续之前的流水号。</font>
<img src ="http://www.blogjava.net/ducklyl/aggbug/267944.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/ducklyl/" target="_blank">王生生</a> 2009-04-28 16:44 <a href="http://www.blogjava.net/ducklyl/archive/2009/04/28/267944.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>