1.mysql 外键关联中建议的级联是 on update cascade on delete restrict。restrict 等同 no action (参考:http://androider.iteye.com/blog/352332)
(参考:. cascade方式
在父表上update/delete记录时,同步update/delete掉子表的匹配记录On delete cascade从mysql3.23.50开始可用; on update cascade从mysql4.0.8开始可用
. set null方式
在父表上update/delete记录时,将子表上匹配记录的列设为null
要注意子表的外键列不能为not null
On delete set null从mysql3.23.50开始可用; on update set null从mysql4.0.8开始可用
. No action方式
如果子表中有匹配的记录,则不允许对父表对应候选键进行update/delete操作
这个是ANSI SQL-92标准,从mysql4.0.8开始支持
. Restrict方式
同no action, 都是立即检查外键约束
. Set default方式
解析器认识这个action,但Innodb不能识别,不知道是什么意思... )
2。删除auto_increment属性 其实是修改属性 alter table xxx modify columnname type constraint (如: int(11) not null) alter table xxx modify columnname type constraint (如: int(11) not null) change id id int 未尝试 也可以删除 在创建(先删除主键约束)
3。MySQL支持外键约束,并提供与其它DB相同的功能,但表类型必须为 InnoDB(5.5之后只能engine来启用),建外键的表的那个列要加上index
4.mysql index 说明 参考: http://blog.csdn.net/luketty/article/details/5772429