1Z0-051 QUESTION 34 通过alter table修改primary key

本文介绍了如何在SQL中创建包含数据的ORDER表,并通过ALTER TABLE语句添加主键约束。重点在于理解数据存在时添加主键约束的可能性及条件。
34. You created an ORDERS table with the following description: 
name                Null            Type 
ORD_ID              NOT NULL        NUMBER(2) 
CUST_ID             NOT NULL        NUMBER(3) 
ORD_DATE            NOT NULL        DATE 
ORD_AMOUNT          NOT NULL        NUMBER (10,2) 
You  inserted  some  rows  in  the  table.  After  some  time,  you  want  to  alter  the  table  by  creating  the 
PRIMARY KEY constraint on the ORD_ID column. Which statement is true in this scenario? 
A. You cannot have two constraints on one column. 
B. You cannot add a   primary key constraint if data exists in the column. 
C. The primary key constraint can be created only at the time of table creation . 
D. You can add the   primary key constraint even if data exists,   provided that   there are   no duplicate 

values. 


答案为:D

A选项错误,orders表本来没有primary key,所以可以创建primary约束;

B选项错误,如果数据是没有重复的,唯一的,可以创建primary key;

C选项错误,可以通过alter table orders add constraint pk_orders primary key(ird_id);修改表来创建primary key;

D选项正确,存在数据而且没有重复的数据,可以创建primary key。

Date: 25/04/2025 22:45:07 */ SET NAMES utf8mb4; SET FOREIGN_KEY_CHECKS = 0; -- ---------------------------- -- Table structure for answers -- ---------------------------- DROP TABLE IF EXISTS `answers`; CREATE TABLE `answers` ( `id` int NOT NULL AUTO_INCREMENT, `result_id` int NOT NULL, `question_id` int NOT NULL, `selected_option_id` int DEFAULT NULL, `text_answer` text COLLATE utf8mb4_unicode_ci, `score` float DEFAULT NULL, `created_at` datetime DEFAULT NULL, PRIMARY KEY (`id`), KEY `result_id` (`result_id`), KEY `question_id` (`question_id`), KEY `selected_option_id` (`selected_option_id`), CONSTRAINT `answers_ibfk_1` FOREIGN KEY (`result_id`) REFERENCES `results` (`id`), CONSTRAINT `answers_ibfk_2` FOREIGN KEY (`question_id`) REFERENCES `questions` (`id`), CONSTRAINT `answers_ibfk_3` FOREIGN KEY (`selected_option_id`) REFERENCES `options` (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=125 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; -- ---------------------------- -- Records of answers -- ---------------------------- BEGIN; INSERT INTO `answers` (`id`, `result_id`, `question_id`, `selected_option_id`, `text_answer`, `score`, `created_at`) VALUES (1, 1, 1, 1, NULL, 0, '2025-04-25 21:47:26'); INSERT INTO `answers` (`id`, `result_id`, `question_id`, `selected_option_id`, `text_answer`, `score`, `created_at`) VALUES (2, 1, 2, 5, NULL, 0, '2025-04-25 21:47:26'); INSERT INTO `answers` (`id`, `result_id`, `question_id`, `selected_option_id`, `text_answer`, `score`, `created_at`) VALUES (3, 1, 3, 9, NULL, 0, '2025-04-25 21:47:26'); INSERT INTO `answers` (`id`, `result_id`, `question_id`, `selected_option_id`, `text_answer`, `score`, `created_at`) VALUES (4, 1, 4, 13, NULL, 0, '2025-04-25 21:47:26'); INSERT INTO `answers` (`id`, `result_id`, `question_id`, `selected_option_id`, `text_answer`, `score`, `created_at`) VALUES (5, 1, 5, 17, NULL, 0, '2025-04-25 21:47:26'); INSERT INTO `answers` (`id`, `result_id`, `question_id`, `selected_option
04-26
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值