--建立数据库
CREATE DATABASE BBS;USE BBS;--创建用户表
CREATE TABLE users(
id INT IDENTITY NOT NULL,
username NVARCHAR(20) NOT NULL,
userpass NVARCHAR(30) NOT NULL,
email NVARCHAR(50) NOT NULL,
sec_q NVARCHAR(50),
sec_a NVARCHAR(50),
realname NVARCHAR(20),
birthday DATETIME,
sexy NVARCHAR(6),
qq NVARCHAR(50),
tel NVARCHAR(20),
address NVARCHAR(100),
description NVARCHAR(100),
level INT DEFAULT 10,
topicnum INT,
articlenum INT,
regdate DATETIME DEFAULT getdate(),
lastlogdate DATETIME DEFAULT getdate(),
PRIMARY KEY(id)
);
--创建版块表
CREATE TABLE plates(
id int IDENTITY NOT NULL,
nodeid INT NOT NULL,
platename NVARCHAR(20) NOT NULL,
parentid INT NOT NULL,
context NVARCHAR(100),
hidden NVARCHAR(10),
ownerid INT,
purview INT DEFAULT 0,
pri INT DEFAULT 50,
PRIMARY KEY(id),
FOREIGN KEY (ownerid) REFERENCES users(id) ON DELETE CASCADE ON UPDATE CASCADE
);--创建文章表
CREATE TABLE articles
(
id INT IDENTITY NOT NULL,
title NVARCHAR(30) NOT NULL,
content NTEXT NOT NULL,
plateid INT NOT NULL,
authorid INT NOT NULL,
emittime DATETIME DEFAULT getdate(),
purview INT DEFAULT 0,
pri INT DEFAULT 50,
PRIMARY KEY(id),
FOREIGN KEY (plateid) REFERENCES plates(id) ON UPDATE CASCADE,
FOREIGN KEY (authorid) REFERENCES users(id) ON UPDATE CASCADE
);
我在articles表上建立了两个外键关联,出现了这样的错误:
“在資料表'articles' 導入FOREIGN KEY 條件約束'FK__articles__author__5EBF139D' 可能造成循環或多個串聯路徑。請指定ON DELETE NO ACTION 或ON UPDATE NO ACTION,或者修改其他FOREIGN KEY 條件約束。”请问这是什么原因?我用的sqlserver2005
CREATE DATABASE BBS;USE BBS;--创建用户表
CREATE TABLE users(
id INT IDENTITY NOT NULL,
username NVARCHAR(20) NOT NULL,
userpass NVARCHAR(30) NOT NULL,
email NVARCHAR(50) NOT NULL,
sec_q NVARCHAR(50),
sec_a NVARCHAR(50),
realname NVARCHAR(20),
birthday DATETIME,
sexy NVARCHAR(6),
qq NVARCHAR(50),
tel NVARCHAR(20),
address NVARCHAR(100),
description NVARCHAR(100),
level INT DEFAULT 10,
topicnum INT,
articlenum INT,
regdate DATETIME DEFAULT getdate(),
lastlogdate DATETIME DEFAULT getdate(),
PRIMARY KEY(id)
);
--创建版块表
CREATE TABLE plates(
id int IDENTITY NOT NULL,
nodeid INT NOT NULL,
platename NVARCHAR(20) NOT NULL,
parentid INT NOT NULL,
context NVARCHAR(100),
hidden NVARCHAR(10),
ownerid INT,
purview INT DEFAULT 0,
pri INT DEFAULT 50,
PRIMARY KEY(id),
FOREIGN KEY (ownerid) REFERENCES users(id) ON DELETE CASCADE ON UPDATE CASCADE
);--创建文章表
CREATE TABLE articles
(
id INT IDENTITY NOT NULL,
title NVARCHAR(30) NOT NULL,
content NTEXT NOT NULL,
plateid INT NOT NULL,
authorid INT NOT NULL,
emittime DATETIME DEFAULT getdate(),
purview INT DEFAULT 0,
pri INT DEFAULT 50,
PRIMARY KEY(id),
FOREIGN KEY (plateid) REFERENCES plates(id) ON UPDATE CASCADE,
FOREIGN KEY (authorid) REFERENCES users(id) ON UPDATE CASCADE
);
我在articles表上建立了两个外键关联,出现了这样的错误:
“在資料表'articles' 導入FOREIGN KEY 條件約束'FK__articles__author__5EBF139D' 可能造成循環或多個串聯路徑。請指定ON DELETE NO ACTION 或ON UPDATE NO ACTION,或者修改其他FOREIGN KEY 條件約束。”请问这是什么原因?我用的sqlserver2005
解决方案 »
- 如何开启SQL远程外网1433端口
- sqlserver2000做数据同步,不能同时发布、订阅么?
- 为了使多个客户机存取访问服务器数据库不产生并发冲突问题,是否尽量少用或不用全局的记录集变量?就是避免使用以下象这样的Public变量对吗?
- sql语句取消主键
- 字符串处理
- 为什么不能保存长度超过32K的字符串到数据库
- 大家给提供点sql2000数据库权限f方面学习的书谢谢了,我对这一块特别不熟悉,最好是从入门的讲起
- 如何把数据库的数据复制一部分下来?
- 关于SQL server 2000 的安装问题
- vf6.0的一个莱鸟小问题
- 请教一个巨大数据库优化查询问题(数据量预计数亿)
- 谁有SQL语句的文法定义
(
id INT IDENTITY NOT NULL primary key ,
title NVARCHAR(30) NOT NULL,
content NTEXT NOT NULL,
plateid INT NOT NULL FOREIGN KEY (plateid) REFERENCES plates(id) ON UPDATE CASCADE,
authorid INT NOT NULL FOREIGN KEY (authorid) REFERENCES users(id) ON UPDATE CASCADE,
emittime DATETIME DEFAULT getdate(),
purview INT DEFAULT 0,
pri INT DEFAULT 50
);--或
CREATE TABLE articles
(
id INT IDENTITY NOT NULL primary key ,
title NVARCHAR(30) NOT NULL,
content NTEXT NOT NULL,
plateid INT NOT NULL ,
authorid INT NOT NULL ,
emittime DATETIME DEFAULT getdate(),
purview INT DEFAULT 0,
pri INT DEFAULT 50,
constraint FK_articles_1 FOREIGN KEY (plateid) REFERENCES plates(id) ON UPDATE CASCADE,
constraint FK_articles_2 FOREIGN KEY (authorid) REFERENCES users(id) ON UPDATE CASCADE
)