您好,欢迎光临! 推荐您使用Chrome浏览器访问本站。

mysql循环(嵌套) 过程(带返回值)

981 views
mysql循环(嵌套) 过程(带返回值)DECLARE _cur CURSOR FOR SELECT语句 –第一种循环: DECLARE CONTINUE HANDLER FOR NOT FOUND SET loop_done=1; OPEN _cur; REPEAT FETCH filedmsglist INTO 变量; IF NOT loop_done THEN –处理语句 END IF; UNTIL loop_done END REPEAT; CLOSE _cur; –第二种循环: open _cur; loop_cur:loop fetch _cur into 变量; if _done=1 then leave loop_cur; end if; –处理语句 end loop; close _cur; 一个完整的嵌套循环例子(带返回值): CREATE DEFINER=`root`@`localhost` PROCEDURE `process_tag_filedmsg`......

mysql插入新值后返回新值ID

898 views
mysql插入新值后返回新值ID一个简单的例子: $query="INSERT INTO `testtable` (`clou1`,`clou2`) VALUES ('testvalue','test')"; mysql_query($query); $query="SELECT LAST_INSERT_ID()"; $result=mysql_query($query); $rows=mysql_fetch_row($result); echo $rows[0]; 参考: mysql使用函数last_insert_id() 得到刚插入记录的AUTO_INCREACE字段id 必须前一SQL为一INSERT语句,如果是其他语句,返回的ID值为零 产生的ID 每次连接后保存在服务器中。 这意味着函数向一个给定客户端返回的值是该客户端产生对影响AUTO_I......

The user specified as a definer (‘root’@’%’) does not exist

1,291 views
The user specified as a definer (‘root’@’%’) does not exist从其他库导入后,查询无法使用,提示:The user specified as a definer (‘root’@’%’) does not exist,原因为root无访问权限,只要给root用户再添加一个对全部host都有可以访问的权限 操作如下: 登陆mysql mysql -u root -pPasswd mysql >grant all privileges on *.* to root@”%” identified by “Passwd” mysql >flush privileges;

You can’t specify target table

992 views
You can’t specify target table今天在批量删除记录时出现You can’t specify target table ‘threaddet’ for update in FROM clause错误提示。 语句如下: delete from threaddet where id in (SELECT m.id FROM `threaddet` m left outer join `filedmsg` f on (m.filemsgid = f.id) WHERE f.id is null) 后查找网络得到错误原因为: 不能先select出同一表中的某些值,再delete这个表(在同一语句中)。 使用oracle时常常这样写,但mysql是不支持此种用法。后改用网友的子集方式,搞定此问题。 改进后的语句: delete from threaddet where id in ......

Mysql 允许远程连接

938 views
Mysql 允许远程连接mysql出于安全方面考虑默认只允许本机(localhost, 127.0.0.1)连接访问。 那么要在其他主机访问该怎么设置呢? 只需执行如下语句让本机外的其他都可以访问即可: GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION; 当然你也可以参考:http://www.studyday.net/2010/08/64