重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
mysql有一个Cmd-LineOption fileSystem Var可以帮助我们实现这样的功能,它就是init_connect。
成都创新互联主营信宜网站建设的网络公司,主营网站建设方案,成都app软件开发公司,信宜h5小程序开发搭建,信宜网站营销推广欢迎信宜等地区企业咨询
这个参数用来定义每个session建立时自动执行的query。利用这个变量,可以通过如下方式禁用autocommit:
way1:mysqlSET GLOBAL init_connect=’SET autocommit=0′;
way2:在初始化参数文件中设置
[mysqld]
init_connect=’SET autocommit=0′
可以在启动服务器的命令行设置,可以在my.ini或者my.cnf文件里面设置。假如要禁用innodb引擎、排序缓冲区为64K,那么可以在C:\MY.CNF文件(或者C:\WINDOWS\my.ini)里面的编写如下内容(注意填写在相应的节):
[mysqld]
set-variable = sort_buffer=64K
skip-innodb
如果要在命令行设置,可以这样启动MYSQLD:
mysqld --skip-innodb -O sort_buffer=64K
获取更多信息,请运行命令mysqld -?
"SELECT A.uid,A.name FROM uchome_space AS A INNER JOIN uchome_spacefield AS B ON A.uid=B.uid AND residecity = '$space[residecity]' AND sex != '$space[sex]' "
要用双引号,php才能解析把字符串里面的变量,如果不行 echo 性别的值,再看下数据库的值是怎么样的,匹配好。只可能是自己的错误
变量总体分为两大类:procedure内部和非procedure内部;
procedure内用declare 声明,作用域仅限于声明的procedure。
另一类就是通常意义上的变量,分为全局(global)和局部(session),用select 或者 set声明,作用域分别是全局和回话级别。
下面是一个简单的 存储过程的例子.
DECLARE v_index INT;
定义一个 名称为 v_index 的变量, 类型为 INT
MYSQL 变量定义应该只能在 存储过程, 函数里面定义.
不像 Oracle / SQL Server , 一个 BEGIN / END 里面就可以定义/执行了。
mysql DELIMITER //
mysql CREATE PROCEDURE TestWhile()
- BEGIN
- DECLARE v_index INT;
-
- SET v_index = 0;
-
- WHILE v_index 5 DO
- SET v_index = v_index + 1;
- SELECT v_index;
- END WHILE;
-
- END//
Query OK, 0 rows affected (0.00 sec)
这个要修改mysql的配制文件的
如果是linux下的mysql服务器,修改/etc/my.cnf
如果是windwos下的,修改my.ini文件(它可能在mysql当前目录,也可能在windows\system32下,与版本有关)
修改时要关闭mysql数据库的!