1#楼 |
|
|
回复人:一起PHP |
注册时间:2004-02-27 |
主题/回复:247/1521 |
积分:4649 |
等级:★★★★★☆(十一级) |
称号:论坛圣人 |
|
|
|
1#楼 发表于2004-04-05 22:49:05
评分:1
|
|
可以这么写:
假设你要在 db1这个库里面创建一个新表 table1
在mysql控制台下可以这么写
(在本站,如不特殊说明,“+#”表示回车动作)
---------------------------------
登陆mysql控制台
mysql>use db1 +#
mysql>create table table1(id int auto_increment primary key,username varchar(50)); +#
----------------------------------
这样就好了。如果在PHP中创建表,语句是一样的,不过需要用PHP语言来传递sql语句给mysql服务器。
-------------------------------------------
<?php
$id=mysql_connect("host","username","password");
mysql_select_db("db1",$id);
$query="create table table1(id int auto_increment primary key,username varchar(50))";
mysql_query($query);
?>
-------------------------------------------
其中,localhost,username,password你自己改。
以上代码经测试通过。请放心使用。 |
|
2#楼 |
|
|
回复人:Miyahoo |
注册时间:2004-04-04 |
主题/回复:39/255 |
积分:1210 |
等级:★★★☆(七级) |
称号:论坛贤士 |
|
|
|
2#楼 发表于2004-04-05 22:56:08
评分:×
|
|
|
3#楼 |
|
|
回复人:一起PHP |
注册时间:2004-02-27 |
主题/回复:247/1521 |
积分:4649 |
等级:★★★★★☆(十一级) |
称号:论坛圣人 |
|
|
|
3#楼 发表于2004-04-05 22:56:27
评分:♂
|
|
补充一点:以上方法略有不足
以上我提供了在mysql控制台和php中创建一个表的2中方法。第二种方法的最后一句代码:
mysql_query($query);改成 mysql_query($query,$id);更可靠一些。
当然,上面那个代码也可以执行,但是最好加上$id. |
|
4#楼 |
|
|
回复人:Miyahoo |
注册时间:2004-04-04 |
主题/回复:39/255 |
积分:1210 |
等级:★★★☆(七级) |
称号:论坛贤士 |
|
|
|
4#楼 发表于2004-04-05 22:56:33
评分:×
|
|
|
5#楼 |
|
|
回复人:一起PHP |
注册时间:2004-02-27 |
主题/回复:247/1521 |
积分:4649 |
等级:★★★★★☆(十一级) |
称号:论坛圣人 |
|
|
|
5#楼 发表于2004-04-05 22:57:40
评分:♂
|
|
创建库更简单
一个命令 create database 库名;
比如: mysql>create database db1; +# |
|
6#楼 |
|
|
回复人:Miyahoo |
注册时间:2004-04-04 |
主题/回复:39/255 |
积分:1210 |
等级:★★★☆(七级) |
称号:论坛贤士 |
|
|
|
6#楼 发表于2004-04-05 22:58:57
评分:×
|
|
那要是这个样的话。那,我执行一次这个php文件,就创建一个同名表啊?还是报错啊?还是忽略啦? |
|
7#楼 |
|
|
回复人:一起PHP |
注册时间:2004-02-27 |
主题/回复:247/1521 |
积分:4649 |
等级:★★★★★☆(十一级) |
称号:论坛圣人 |
|
|
|
7#楼 发表于2004-04-05 22:59:28
评分:♂
|
|
<?php //程序开始
$id=mysql_connect("host","username","password"); //连接到服务器,并记录下连接号$id
mysql_select_db("db1",$id); //选择要使用的数据库db1
$query="create table table1(id int auto_increment primary key,username varchar(50))"; //定义一个字符串(这个字符串是个sql语句)
mysql_query($query); //让php通知mysql执行这个语句
?> //程序结束 |
|
8#楼 |
|
|
回复人:一起PHP |
注册时间:2004-02-27 |
主题/回复:247/1521 |
积分:4649 |
等级:★★★★★☆(十一级) |
称号:论坛圣人 |
|
|
|
8#楼 发表于2004-04-05 23:02:59
评分:♂
|
|
关于出错如何处理
如果你重复执行了创建一个表的命令,如果在mysql控制台执行,则会报错,说同名的表已经存在,不能再创建。
如果使用PHP重复创建这个表,则不会创建两个,会返回错误信息。但是,这个错误信息只有在你捕获他的时候才能显示,上面的语句不能显示错误信息,因为我们没有写如果出错了如何处理,所以不会显示任何信息,但是不会创建2个表的。 |
|
9#楼 |
|
|
回复人:Miyahoo |
注册时间:2004-04-04 |
主题/回复:39/255 |
积分:1210 |
等级:★★★☆(七级) |
称号:论坛贤士 |
|
|
|
9#楼 发表于2004-04-05 23:04:48
评分:×
|
|
ERROR 1064: You have an error in your SQL syntax. Check the manual that corresp
onds to your MySQL server version for the right syntax to use near 'datebases pi
cicn' at line 1
怎么回事? |
|
10#楼 |
|
|
回复人:一起PHP |
注册时间:2004-02-27 |
主题/回复:247/1521 |
积分:4649 |
等级:★★★★★☆(十一级) |
称号:论坛圣人 |
|
|
|
10#楼 发表于2004-04-05 23:09:37
评分:♂
|
|
你打错了!!!
给你翻译一下这个意思:
-----------------
错误1064 : 你的SQL语句有错误。请你检查你的MYSQL服务器版本,或者察看一下第一行‘databases picicn’附近又没有语句错误。
-----------------
显然是语句错误
databases 应该是 database,多了一个s
show databases的时候,有s,表示多个,而创建的时候,创建一个,没有s
|
|
11#楼 |
|
|
回复人:Miyahoo |
注册时间:2004-04-04 |
主题/回复:39/255 |
积分:1210 |
等级:★★★☆(七级) |
称号:论坛贤士 |
|
|
|
11#楼 发表于2004-04-05 23:20:20
评分:×
|
|
|