Mysql创建表失败?!

Web、Mail、Ftp、DNS、Proxy、VPN、Samba、LDAP 等基础网络服务
回复
头像
haoyihuan
帖子: 271
注册时间: 2009-06-11 13:37

Mysql创建表失败?!

#1

帖子 haoyihuan » 2009-11-09 8:41

弱弱地问一下,我下面的命令为什么不能建立一个表呢?
CREATE TABLE "gb_content" ("id" INT( 11 ) NOT NULL AUTO_INCREMENT PRIMARY KEY ,"username" VARCHAR( 16 ) NOT NULL ,"content" VARCHAR( 255 ) NOT NULL ,"insert_time" DATETIME NOT NULL)
跑debian应该是有点搞头的吧。
907169993
帖子: 93
注册时间: 2009-06-12 10:02

Re: Mysql创建表失败?!

#2

帖子 907169993 » 2009-11-12 12:25

几点说明:在Mysql中
1、创建表明里,字段是不须要加“”或者是‘’;这个在sql里面是基本语法的,不论是MS的,还是mysql都一样的!
2、在Mysql中如果我没有记错,结尾要加“;”,因为Mysql是类C语言写的,所以要记得,结尾要加;,特别的像USE等不用加,这些是基本的语法!
907169993
帖子: 93
注册时间: 2009-06-12 10:02

Re: Mysql创建表失败?!

#3

帖子 907169993 » 2009-11-12 12:30

楼主,我还忘记了说,表名,也不用加引号:

CREATE TABLE gb_content(id INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY , username VARCHAR(16) NOT NULL , content VARCHAR(255) NOT NULL , insert_time DATETIME NOT NULL);

这样你就可以建立一个表名为gb_content有如下字段(id,username,content,insert_time)

可以试试啊!
头像
haoyihuan
帖子: 271
注册时间: 2009-06-11 13:37

Re: Mysql创建表失败?!

#4

帖子 haoyihuan » 2009-11-13 16:24

我也尝试过去掉所有的引号 结果还是没有用

不知道是不是数据类型和描述出了问题?


看看下面这个:
mysql> CREATE TABLE customer(id INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,custm_name VARCHAR(255),customer_class VARCHAR(255),customer_account VARCHAR(255) PRIMARY KEY (ID));
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '(ID))' at line 1
mysql>
跑debian应该是有点搞头的吧。
907169993
帖子: 93
注册时间: 2009-06-12 10:02

Re: Mysql创建表失败?!

#5

帖子 907169993 » 2009-11-16 13:05

mysql> create table gb_content(id int(11) not null auto_increment primary key,username varchar(16) not null , content varchar(255) not null , insert_time datetime not null);
Query OK, 0 rows affected (0.05 sec)


不想弄图了,这样子应该就可以了,我的机子上已经成功试过了!我的步骤如下:
1、打开数据库,use test
2、输入如上的命令,
3、输入如下命令,结果如下:
mysql> describe gb_content
-> ;
+-------------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------------+--------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| username | varchar(16) | NO | | NULL | |
| content | varchar(255) | NO | | NULL | |
| insert_time | datetime | NO | | NULL | |
+-------------+--------------+------+-----+---------+----------------+
4 rows in set (0.01 sec)
907169993
帖子: 93
注册时间: 2009-06-12 10:02

Re: Mysql创建表失败?!

#6

帖子 907169993 » 2009-11-16 13:16

上面那个,我用下面的写法就可以了:
mysql> create table customer(id int(5) unsigned not null auto_increment primary key, custom_name varchar(255), customer_class varchar(255), customer_account varchar(255));
Query OK, 0 rows affected (0.00 sec)

mysql>

你可以试一下啊
907169993
帖子: 93
注册时间: 2009-06-12 10:02

Re: Mysql创建表失败?!

#7

帖子 907169993 » 2009-11-16 13:20

CREATE TABLE customer(id INTEGER UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY ,custm_name VARCHAR(255),customer_class VARCHAR(255),customer_account VARCHAR(255));


你的写法,只要把primary key 紧跟着id 后面就可以了!
上面那个我试过了,完全可以!
回复