请问MySQL中创建表哪里出错了? CREATE TABLE emp( empno INT(4) PRIMARY KEY, name VARCHAR(5) NOT NULL,
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了请问MySQL中创建表哪里出错了? CREATE TABLE emp( empno INT(4) PRIMARY KEY, name VARCHAR(5) NOT NULL,相关的知识,希望对你有一定的参考价值。
参考技术A 最后的括号,还有,没有int这个数据类型,应该是number 参考技术B mysql> CREATE TABLE emp( empno INT(4) PRIMARY KEY, name VARCHAR(5) NOT NULL);Query OK, 0 rows affected (0.26 sec)
mysql>
这个是正确的啊! 参考技术C int(4)出错了
把(4)去掉就行了追问
还是不行?出现your MySQL server version for the right syntax to use near 'null
'
empno int not null,
hire' at line 3
MYSQL数据库建表出错
错误SQL 查询:CREATE TABLE 'bbs'(
'cardID'SMALLINT( 5 ) NOT NULL AUTO_INCREMENT ,
'poster'VARCHAR( 50 ) NOT NULL ,
'posttime'DATETIME NOT NULL ,
'title'VARCHAR( 100 ) NOT NULL ,
'content'TEXT NOT NULL ,
'repID'SMALLINT( 5 ) DEFAULT NULL ,
'lastReptime'DATETIME DEFAULT NULL ,
'repNum'INT( 11 ) DEFAULT '0',
'conNum'INT( 11 ) DEFAULT '0',
'subjectID'SMALLINT( 5 ) NOT NULL DEFAULT '1',
'IP'VARCHAR( 50 ) DEFAULT NULL ,
PRIMARY KEY ( 'cardID' )) ENGINE = MYISAM AUTO_INCREMENT =61 DEFAULT CHARSET = Latin1MySQL 返回:#1064 - 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 ''bbs' (
'cardID' smallint(5) NOT NULL auto_increment,
'poster' varchar(50) NOT' at line 1
请问问题出在哪?
`cardID`SMALLINT( 5 ) NOT NULL AUTO_INCREMENT ,
`poster`VARCHAR( 50 ) NOT NULL ,
`posttime`DATETIME NOT NULL ,
`title`VARCHAR( 100 ) NOT NULL ,
`content`TEXT NOT NULL ,
`repID`SMALLINT( 5 ) DEFAULT NULL ,
`lastReptime`DATETIME DEFAULT NULL ,
`repNum`INT( 11 ) DEFAULT 0,
`conNum`INT( 11 ) DEFAULT 0,
`subjectID`SMALLINT( 5 ) NOT NULL DEFAULT 1,
`IP`VARCHAR( 50 ) DEFAULT NULL ,
PRIMARY KEY ( `cardID` )) ENGINE = MYISAM AUTO_INCREMENT =61 DEFAULT CHARSET = Latin1
符号错了追问
哪个符号?
追答这里的 不是 英文 逗号,而是 ESC键下的 ·~ 这个键,或 你干脆别写
参考技术A 1,die的作用是你所想的那样,输出里面的内容,并结束程序。2,'create database my_db' ,这仅仅是一个语句,如果需要执行才能产生效果的,所以需要mysql_query()。就好比,你有一碗米,是需要煮了之后才能吃的~~
3,如果没有其他的数据库连接,这个$con是可以不需要的。如果你可能需要操作多个数据库的时候,或者已不同身份使用数据库的时候这个就是必须的了。
比如
$con = mysql_connect("localhost","peter","abc123");
$con2 = mysql_connect("localhost","peter2","abc456");
这两个用户peter,peter2是两个不一样的用户---假设peter2没有创建数据库的权限,那么mysql_query("create database my_db",$con2)。就会出错。
再举个例子。
$con = mysql_connect("localhost","peter","abc123");
$con2 = mysql_connect("localhost2","peter","abc123");
当你执行mysql_query(“SQL语句”,$con)
mysql_query(“SQL语句”,$con2)
他们产生结果的数据库服务器,就不一样了。
PHP初学者吧。多多加油!
欢迎到
提问~
我不是经常在百度~
以上是关于请问MySQL中创建表哪里出错了? CREATE TABLE emp( empno INT(4) PRIMARY KEY, name VARCHAR(5) NOT NULL,的主要内容,如果未能解决你的问题,请参考以下文章