十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
可以使用主键来设置标识列,最常用的方法是使用自增id来做为标识列。请参考下列sql语句:
为珠山等地区用户提供了全套网页设计制作服务,及珠山网站建设行业解决方案。主营业务为网站制作、成都网站设计、珠山网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!
create
table
`animal`
(
`id`
int(11)
not
null
auto_increment,
--
定义自增id标识列
`animal`
varchar(10)
default
null,
primary
key
(`id`)
)
engine=innodb
auto_increment=3
default
charset=gb2312;
1.外键的作用,主要有两个:
一个是让数据库自己通过外键来保证数据的完整性和一致性
一个就是能够增加ER图的可读性
2.外键的配置
1)先创建一个主表,代码如下:
#创建表student,并添加各种约束
create table student
(
id int primary key , #主键约束
name varchar(20) , #唯一约束
age int NOT NULL, #非空约束
sex varchar(2) ,
address varchar(20) default '重庆' #默认约束
) ;
再通过一个外键,创建一个分数表,这样的话,就可以方便查询。代码如下:
#创建分数表
create table score
(
id int primary key ,
sid int ,
china int ,
history int,
english int,
constraint FK_sid foreign key(sid) references student(id) #通过外键创建链接
) ;
创建外键的方法有很多,其中最常见创建外键的格式是:constraint FK_*** foreign key(**) references 链接的外表
删除外键:
alter table drop foreign key '外键名'.
注意:
只有在定义外键时,用constraint 外键名 foreign key .... 方便进行外键的删除
主键是唯一标示这一行的,就好像你的身份证号一样,每个人只有一个,也是唯一能证明你是你的东西。外键是别人执行你的东西。也就是说如果一个人想和你有点关系怎么办,那就要关联起来,怎么关联起来,就通过外键啊
定义主键和外键主要是为了维护关系数据库的完整性,总结一下:
一、主键是能确定一条记录的唯一标识,比如,一条记录包括身份正号,姓名,年龄。身份证号是唯一能确定你这个人的,其他都可能有重复,所以,身份证号是主键。
外键用于与另一张表的关联。是能确定另一张表记录的字段,用于保持数据的一致性。比如,A表中的一个字段,是B表的主键,那他就可以是A表的外键。
可以使用主键来设置标识列,最常用的方法是使用自增ID来做为标识列。请参考下列SQL语句:
CREATE TABLE `animal` (
`id` int(11) NOT NULL AUTO_INCREMENT, -- 定义自增id标识列
`animal` varchar(10) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=gb2312;
可以利用session.
正常情况下,在客户端用ajax与服务器交互,确认用户在线状态.
在页面把session设置稍微短些.(默认20分钟太长了),比如5分钟.
在客户端页面用ajax每隔一分钟就确认一下在线状态.
如果超过5分钟没有确认(相差的几分钟可以防止网络不稳定),session就abort掉.
同时设置用户不在线
这样记录误差也就在5分钟.
当然如果你确定你的服务器性能好,可以更短些
第一:更改 “mysql” 数据库里的 “user” 表里的 “host” 项,从”localhost”改称'%'。\x0d\x0a或者新加条记录,“host” 项为要访问的ip地址,并授权。重启mysql服务。\x0d\x0a第二:在系统防火墙添加例外端口:3306,并允许例外。错误提示:\x0d\x0aERROR 1130: Host '192.168.1.3' is not allowed to connect to this MySQL server\x0d\x0a的解决方法: 1。 改表法。可能是你的帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,登入mysql后,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从"localhost"改称"%"\x0d\x0amysql -u root -pvmwaremysqluse mysql;mysqlupdate user set host = '%' where user = 'root';mysqlselect host, user from user; 2. 授权法。例如,你想myuser使用mypassword从任何主机连接到mysql服务器的话。\x0d\x0aGRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;\x0d\x0a如果你想允许用户myuser从ip为192.168.1.3的主机连接到mysql服务器,并使用mypassword作为密码\x0d\x0aGRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.1.3' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;\x0d\x0a3.在window自带的防火墙里的例外添加3306端口\x0d\x0a总结:mysql -u root -p\x0d\x0amysqluse mysql;\x0d\x0amysqlselect 'host' from user where user='root';\x0d\x0amysqlupdate user set host = '%' where user ='root';\x0d\x0amysqlflush privileges;\x0d\x0amysqlselect 'host' from user where user='root';\x0d\x0a第一句是以权限用户root登录\x0d\x0a第二句:选择mysql库\x0d\x0a第三句:查看mysql库中的user表的host值(即可进行连接访问的主机/IP名称)\x0d\x0a第四句:修改host值(以通配符%的内容增加主机/IP地址),当然也可以直接增加IP地址\x0d\x0a第五句:刷新MySQL的系统权限相关表\x0d\x0a第六句:再重新查看user表时,有修改。。\x0d\x0a重起mysql服务即可完成。