InnoDB 相关的问题!

jackxiang 2008-10-20 18:32 | |
建表:

CREATE TABLE customer (id INT NOT NULL, PRIMARY KEY (id)) ENGINE=INNODB;
ALTER TABLE et ENGINE = INNODB;.
查看引擎状态:
show engines;

查看表类型(存储引擎): SHOW TABLE STATUS FROM test;
SHOW variables like "have_%"

用innodb引擎。使用方法是create table xxx()engine=innodb;如果想所有建立的表格都用innodb引擎,可以把“default-storage- engine=INNODB”加到/etc/mysql/my.cnf(位置可能不同)。设完之后就可以用“show engines;”检查是否设置好。不过据说该设置在5.0.22下可能无效。


http://www.geekso.com/post/124/

事务处理:

ySQL 总是启动自动提交你运行的每个 SQL 语句的自动提交(autocommit)模式创建每的新连接。为了使用事务,可以使用 SQL 命令 SET AUTOCOMMIT = 0 关闭自动提交(autocommit)开关,使用 COMMIT 和 ROLLBACK 来提交事务和回滚事务。如果你想保留 autocommit 开关打开,你可以将事务放入 BEGIN 和 COMMIT 或 ROLLBACK之间。

heikki@hundin:~/mysql/client> mysql test

Welcome to the MySQL monitor.  Commands end with ; or g.
Your MySQL connection id is 5 to server version: 3.23.50-log

Type 'help;' or 'h' for help. Type 'c' to clear the buffer.

mysql> CREATE TABLE CUSTOMER (A INT, B CHAR (20), INDEX (A)) TYPE = InnoDB;
Query OK, 0 rows affected (0.00 sec)

mysql> BEGIN;
Query OK, 0 rows affected (0.00 sec)

mysql> INSERT INTO CUSTOMER VALUES (10, 'Heikki');
Query OK, 1 row affected (0.00 sec)

mysql> COMMIT;
Query OK, 0 rows affected (0.00 sec)

mysql> SET AUTOCOMMIT=0;
Query OK, 0 rows affected (0.00 sec)

mysql> INSERT INTO CUSTOMER VALUES (15, 'John');
Query OK, 1 row affected (0.00 sec)

mysql> ROLLBACK;
Query OK, 0 rows affected (0.00 sec)

mysql> SELECT * FROM CUSTOMER;
+------+--------+
| A      | B        |
+------+--------+
| 10     | Heikki |
+------+--------+
1 row in set (0.00 sec)



作者:jackxiang@向东博客 专注WEB应用 构架之美 --- 构架之美,在于尽态极妍 | 应用之美,在于药到病除
地址:https://jackxiang.com/post/1315/
版权所有。转载时必须以链接形式注明作者和原始出处及本声明!


最后编辑: jackxiang 编辑于2008-10-20 20:02
评论列表
发表评论

昵称

网址

电邮

打开HTML 打开UBB 打开表情 隐藏 记住我 [登入] [注册]