主頁 > 知識(shí)庫(kù) > Mysql 增加主鍵或者修改主鍵的sql語句操作

Mysql 增加主鍵或者修改主鍵的sql語句操作

熱門標(biāo)簽:怎樣在地圖標(biāo)注銷售區(qū)域 曲靖移動(dòng)外呼系統(tǒng)公司 啥是企業(yè)400電話辦理 南昌三維地圖標(biāo)注 百應(yīng)電話機(jī)器人優(yōu)勢(shì) 外呼系統(tǒng)打電話上限是多少 武漢網(wǎng)絡(luò)外呼系統(tǒng)服務(wù)商 地圖標(biāo)注費(fèi)用是多少 電話外呼系統(tǒng)改號(hào)

添加表字段

alter table table1 add transactor varchar(10) not Null;
alter table table1 add id int unsigned not Null auto_increment primary key

修改某個(gè)表的字段類型及指定為空或非空

alter table 表名稱 change 字段名稱 字段名稱 字段類型 [是否允許非空];

alter table 表名稱 modify 字段名稱 字段類型 [是否允許非空];

alter table 表名稱 modify 字段名稱 字段類型 [是否允許非空];

修改某個(gè)表的字段名稱及指定為空或非空

alter table 表名稱 change 字段原名稱 字段新名稱 字段類型 [是否允許非空

刪除某一字段

ALTER TABLE mytable DROP 字段 名;

添加唯一鍵

ALTER TABLE `test2` ADD UNIQUE ( `userid`)

修改主鍵

ALTER TABLE `test2` DROP PRIMARY KEY ,ADD PRIMARY KEY ( `id` )

增加索引

ALTER TABLE `test2` ADD INDEX ( `id` )
ALTER TABLE `category ` MODIFY COLUMN `id` int(11) NOT NULL AUTO_INCREMENT FIRST ,ADD PRIMARY KEY (`id`);

修改主鍵的sql語句塊如下

mailbox 表新增字段

DROP PROCEDURE IF EXISTS mailbox_column_update;
CREATE PROCEDURE mailbox_column_update() BEGIN
 -- 新增刪除標(biāo)志列
 IF NOT EXISTS(SELECT 1 FROM information_schema.COLUMNS WHERE TABLE_SCHEMA='cbs' AND table_name='mailbox' AND COLUMN_NAME='delete_flag') THEN
   ALTER TABLE mailbox ADD delete_flag int DEFAULT 2 NOT NULL;
 END IF;
 -- 新增刪除日期列
 IF NOT EXISTS(SELECT 1 FROM information_schema.COLUMNS WHERE TABLE_SCHEMA='cbs' AND table_name='mailbox' AND COLUMN_NAME='delete_date') THEN
   ALTER TABLE mailbox ADD delete_date int DEFAULT 0 NOT NULL;
 END IF;
 -- 如果存在字段account_mail,則修改字段長(zhǎng)度
 IF EXISTS(SELECT 1 FROM information_schema.COLUMNS WHERE TABLE_SCHEMA='cbs' AND table_name='mailbox' AND COLUMN_NAME='email_account')
 THEN
  alter table mailbox modify column email_account varchar(320);
 END IF;
 -- 如果不存在主鍵列,則設(shè)置雙主鍵
 IF ((SELECT count(*) FROM information_schema.KEY_COLUMN_USAGE WHERE TABLE_SCHEMA ='cbs' AND table_name='mailbox' AND CONSTRAINT_NAME ='PRIMARY' AND (COLUMN_NAME ='email_account' OR COLUMN_NAME = 'company_id'))=0)THEN
    ALTER TABLE mailbox ADD primary key (company_id,email_account);
 -- 如果只存在一個(gè)主鍵列
 ELSEIF ((SELECT count(*) FROM information_schema.KEY_COLUMN_USAGE WHERE TABLE_SCHEMA ='cbs' AND table_name='mailbox' AND CONSTRAINT_NAME ='PRIMARY' AND (COLUMN_NAME ='email_account' OR COLUMN_NAME = 'company_id'))2)THEN
    ALTER TABLE mailbox DROP PRIMARY KEY,ADD primary key (company_id,email_account);
 END IF;
  
END;
CALL mailbox_column_update();
DROP PROCEDURE IF EXISTS mailbox_column_update;

補(bǔ)充:mysql 修改主鍵自增,新增聯(lián)合主鍵

ALTER TABLE `onduty_history`
MODIFY COLUMN `id` int(11) NOT NULL AUTO_INCREMENT FIRST ,
MODIFY COLUMN `name` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL AFTER `id`,
MODIFY COLUMN `onduty_date` datetime NOT NULL AFTER `name`,
ADD UNIQUE KEY (`id`),
ADD PRIMARY KEY (`name`, `onduty_date`);

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。

您可能感興趣的文章:
  • 深入談?wù)凪ySQL中的自增主鍵
  • Mysql主鍵UUID和自增主鍵的區(qū)別及優(yōu)劣分析
  • MySQL的主鍵命名策略相關(guān)
  • 淺談MySQL中的自增主鍵用完了怎么辦
  • MySQL的自增ID(主鍵) 用完了的解決方法
  • 深入分析mysql為什么不推薦使用uuid或者雪花id作為主鍵
  • 詳解MySQL 表中非主鍵列溢出情況監(jiān)控
  • 使用prometheus統(tǒng)計(jì)MySQL自增主鍵的剩余可用百分比

標(biāo)簽:甘南 隨州 黑河 滄州 吉林 錦州 荊州 資陽

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Mysql 增加主鍵或者修改主鍵的sql語句操作》,本文關(guān)鍵詞  Mysql,增加,主鍵,或者,修改,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Mysql 增加主鍵或者修改主鍵的sql語句操作》相關(guān)的同類信息!
  • 本頁收集關(guān)于Mysql 增加主鍵或者修改主鍵的sql語句操作的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章