有关mysql数据库建表问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了有关mysql数据库建表问题相关的知识,希望对你有一定的参考价值。
在设计数据库一张表时,其中有5个字段,都是用户的个人信息,用户可以根据实际情况公开和保密其中任何的一个或数个字段,这样这个表该如何设计?
可以再添加5个字段,分别对应要保密或者公开的那5个字段,最简单的设计可以把新添加的5个字段默认为0,是公开的,如果用户选择不公开,则是1。这样可以在数据库中看到那些是要保密的,哪些是不需要保密的。同事在前台用户可以自己选择是否保密。 参考技术A 在数据库中建表当然这些信息都要有了。要是根据情况公开和保密 ,这需要你用前台界面设计和代码的编写才能实现把。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数据库建表问题的主要内容,如果未能解决你的问题,请参考以下文章