[英]Constraint not being created in MySQL
我嘗試使用以下查詢創建表
CREATE TABLE customer (
cust_id INT NOT NULL AUTO_INCREMENT,
cname VARCHAR(255),
CONSTRAINT pk_customer PRIMARY KEY (cust_id));
該表已成功創建,並以 cust_id 作為主鍵。 但是,如果我嘗試使用以下查詢刪除約束 pk_customer
ALTER TABLE customer
DROP CONSTRAINT pk_customer;
我收到一條錯誤消息:
錯誤代碼:3940。約束“pk_customer”不存在。
我能做些什么來解決這個問題?
在 MySQL 中刪除主鍵的語法是這樣的:
ALTER TABLE customer DROP PRIMARY KEY;
但是,在您上面給出的確切表定義上使用它會產生此錯誤:
表定義不正確; 只能有一個自動列,並且必須將其定義為鍵
如果您將主鍵設為非自動增量列,則上面的ALTER TABLE
語句將起作用:
CREATE TABLE customer (
cust_id INT NOT NULL,
cname VARCHAR(255),
CONSTRAINT pk_customer PRIMARY KEY (cust_id)
);
ALTER TABLE customer DROP PRIMARY KEY;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.