新下载了数据库,需要学习,CREATE TABLE的时候,他提示数据库拒绝了这个权限,请问要怎么解决?

在网上搜索了CREATE TABLE的权限怎么开启,网上说,在安全里找到登录名,然后调整他的用户映射,勾选数据库角色成员身份,我按照他说的去做,却提示我执行Transact-SQL语句或者批处理时发生了异常,无法对角色实行更改,因为他不存在或者您没有所需的权限……不能执行,我就没办法,确定我写的数据是否能够成功执行,希望可以得到帮助

img

img

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 你可以参考下这个问题的回答, 看看是否对你有帮助, 链接: https://ask.csdn.net/questions/7796055
  • 除此之外, 这篇博客: 数据库系统设计实验一中的 (2).在所创建的数据库下,用SQL语句(create table)创建所有的表,只建立主键,先不建立外键。 部分也许能够解决你的问题, 你可以仔细阅读以下内容或者直接跳转源博客中阅读:
    #使用数据库lingxue
    USE lingxue;
    
    #创建Major表
    CREATE TABLE Major
    (
    	majorNo	CHAR(4)	PRIMARY KEY,
    	GBMajorNo CHAR(6) NOT NULL,
    	majorName VARCHAR(60) NOT NULL,
    	enMajorName VARCHAR(100) NULL,
    	lengthSchool TINYINT NOT NULL DEFAULT 4,
    	eduLevel CHAR(6) NOT NULL DEFAULT '本科',
    	ddegree CHAR(12) NOT NULL,
    	departmentNo CHAR(2) NOT NULL,
    	department VARCHAR(40) NOT NULL
    );
    
    #添加约束
    #专业代码为4位数字字符且不能为0000 
    #国家专业编号为6位数字字符且不能为000000
    #院系代码为2位数字字符且不能为00
    ALTER TABLE Major
    ADD CHECK (majorNo REGEXP '[0-9][0-9][0-9][0-9]' AND majorNo NOT LIKE '0000');
    ALTER TABLE Major
    ADD CHECK (GBMajorNo REGEXP '[0-9][0-9][0-9][0-9][0-9][0-9]' 
    AND majorNo NOT LIKE '000000');
    ALTER TABLE Major
    ADD CHECK (departmentNo REGEXP '[0-9][0-9]' AND departmentNo NOT LIKE '00');
    
    #创建Students表
    CREATE TABLE Students
    (
    	sno CHAR(12),
    	sname CHAR(16),
    	sex CHAR(2),
    	birthday DATE,
    	nationality CHAR(16),
    	native CHAR,
    	political CHAR(12),
    	district CHAR(12),
    	studentSource VARCHAR(24),
    	enterYear DATE,
    	schoolYear CHAR(12),
    	class CHAR(24),
    	majorNo	CHAR(4)
    );
    #设置主键
    ALTER TABLE `Students` ADD PRIMARY KEY ( `sno` );
    
    #添加约束
    ALTER TABLE Students
    ADD CHECK (sno REGEXP '[2][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]'
    AND sno NOT LIKE '%00');
    ALTER TABLE Students
    ADD CHECK (sex in ('男','女'));
    
    #创建Course表
    CREATE TABLE Course
    (
    	schoolYear CHAR(2) NULL,
    	semester TINYINT NOT NULL,
    	courseNo CHAR(6) NOT NULL,
    	courseName VARCHAR(50) NOT NULL,
    	credit NUMERIC(3,1) NOT NULL,
    	creditHourse TINYINT NOT NULL,
    	courseType1	CHAR(16) NOT NULL,
    	courseType2	CHAR(16) NULL,
    	cegmentType CHAR(16) NULL,
    	examineWay CHAR(16) NOT NULL
    );
    #设置主键
    ALTER TABLE Course ADD PRIMARY KEY (schoolYear,semester,courseNo);
    
    #增加约束
    #学年取值范围是[1,2,3,4]
    #学期取值范围是[1,2,3,4,5,6,7,8]
    #课程代码为6位数字字符且不能为000000
    #学分取值范围是[ 0.5,1,1.5,2,2.5,3,3.5,4,4.5,5]
    ALTER TABLE Course
    ADD CHECK (schoolYear >= 1 AND schoolYear <= 4);
    ALTER TABLE Course
    ADD CHECK (semester >= 1 AND semester <= 8);
    ALTER TABLE Course
    ADD CHECK (courseNo REGEXP '[0-9][0-9][0-9][0-9][0-9][0-9]' 
    AND courseNo NOT LIKE'000000');
    ALTER TABLE Course
    ADD CHECK (credit in ('0.5','1','1.5','2','2.5','3','3.5','4','4.5','5'));
    
    #创建SelectCourse表
    CREATE TABLE SelectCourse
    (
    	sno CHAR(12) NOT NULL,
    	schoolYear CHAR(12) NOT NULL,
    	semester TINYINT NOT NULL,
    	courseNo CHAR(6) NOT NULL,
    	score NUMERIC(6,2) NULL,
    	CONSTRAINT SelectCoursePK PRIMARY KEY (sno,schoolYear,semester,courseNo)
    );
    
    #增加check约束
    #综合成绩为百分制成绩
    ALTER TABLE SelectCourse
    ADD CHECK (score >= 0 AND score <= 100);
    

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^