برخورد به خطا به هنگام استفاده از DROP a PRIMARY KEY Constraint

پرسیده شده
فعالیت 1137 روز پیش
دیده شده 465 بار
0

سلام و عرض ادب خدمت استاد و دوستان 

 

وقتی که برای حذف یا همون DROP از   DROP a PRIMARY KEY Constraint  استفاده میکنم به یه خطایی برمی خورم که در ادامه ی تاپیک دستوراتی که نوشتم رو قرار دادم

 ممنون می شم راهنمایی بفرمایید که این خطا به چه دلیلی اتفاق افتاده  ؟

 

CREATE DATABASE Employ;
use Employ;
CREATE TABLE Employees (
 `ID` TINYINT(3)  NOT NULL,
 `First_Name` VARCHAR(25) NOT NULL,
 `Last_Name` VARCHAR(25) NOT NULL,
 `Home_Address` VARCHAR(50) NOT NULL,
 `Home_Phone` VARCHAR(12) NOT NULL
  );
  ALTER TABLE Employees ADD CONSTRAINT PK_Employee PRIMARY KEY (ID);
  ALTER TABLE Employees DROP CONSTRAINT PK_ID;
   
Error 1091 (42000): can't drop constraint 'PK_ID' check that it exists

 

فایل پیوست

Amir F
Amir F

28 اسفند 99

0
حذف شده

سلام.

شما PK_Employee رو ایجاد کردید ولی PK_ID رو میخواید حذف کنید که وجود نداره.

بعد این سینتکس drop مال sql هست.
در mysql به این شکل میشه:

ALTER TABLE Employees DROP INDEX PK_Employee;
فایل پیوست

محسن موحد

توسط

محسن موحد

28 اسفند 99

حذف شده
سلام جناب موحد اون PK_Employee و PK_ID اشتباه تایپی (توی این تاپیک) بوده ، مشکل فک می کنم استفاده از سینتکس sql باشه منتها این موردی که شما فرمودید هم تست کردم بازم به خطا برخوردم ... از دستور زیر استفاده می کنم ، primary key حذف می شه : ALTER TABLE Employees DROP PRIMARY KEY; منتها می خواستنم با اسمی که برای primary key تعریف کردم، عمل حذف شدن رو انجام بدم ...
Amir F

28 اسفند 99

حذف شده
اره. دستور حذف primary key همین ALTER TABLE Employees DROP PRIMARY KEY هست. چون اصلا key_name اش PRIMARY هست. داخل structure رو اگر ببینید اصلا PK_Employee شما وجود نداره همچین اسمی. منم به pk بودنش دقت نکردم.
محسن موحد

28 اسفند 99