菜鸟问个问题,我已经设定了主键和外键,如何实现插入或更新主键同时修改外键?
/*创建新表 LoginInfo []:
* uid [用户ID]:
* pwd [用户密码]:
*/
CREATE TABLE LoginInfo(
uid INTEGER NOT NULL,
pwd varchar(10) binary NOT NULL,
PRIMARY KEY (uid)
)
;
/*创建新表 UserThread []:
* uid [用户ID]:
* topic []:
* contents []:
*/
CREATE TABLE UserThread(
uid INTEGER NULL,
topic varchar(30) binary NOT NULL,
contents varchar(200) binary NULL
)
;
/* 在表 UserThread 中添加外键约束。 */
ALTER TABLE UserThread
ADD FOREIGN KEY (uid)
REFERENCES LoginInfo (uid)
;
希望高手能给指点一下,谢谢!
问题点数:40、回复次数:4Top
1 楼h2342166(火腿太狼)回复于 2006-03-05 00:38:06 得分 0
各位大哥 来看看啊~~Top
2 楼yicikou(伊静)回复于 2006-03-05 10:35:55 得分 0
不行吧,设置外键应该只是个提醒报错而已,不会同时两个表都修改或删除。
比如LoginInfo表有一条记录(uid=12),UserThread表也有一条uid=12的记录,
当你删除LoginInfo表uid=12的记录,但没有删除UserThread表uid=12的记录,那么sql语句就会报错。你需要先删除UserThread,再删除LoginInfo。
不知道我这样解释对不对,请大家PKTop
3 楼ohbug(臭虫)回复于 2006-03-05 17:38:58 得分 0
SQL Server支持级联删除的,MySQL支不支持就不知道了。Top
4 楼h2342166(火腿太狼)回复于 2006-03-07 23:36:56 得分 0
请大家继续帮忙, 不行我再加分~~~Top




