濮阳杆衣贸易有限公司

主頁 > 知識庫 > Mysql 增加主鍵或者修改主鍵的sql語句操作

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

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

添加表字段

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

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

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

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

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

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

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,則修改字段長度
 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);
 -- 如果只存在一個主鍵列
 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`);

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

您可能感興趣的文章:
  • 深入談?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)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(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)民參考!
  • 推薦文章
    横峰县| 汤原县| 江川县| 沧源| 渭源县| 潞西市| 瑞安市| 唐海县| 泌阳县| 郎溪县| 察隅县| 彰武县| 仁寿县| 时尚| 洛阳市| 加查县| 中超| 东源县| 始兴县| 麻栗坡县| 托克逊县| 扎赉特旗| 淳安县| 濉溪县| 瓦房店市| 高密市| 响水县| 霍林郭勒市| 凌源市| 古浪县| 竹山县| 平湖市| 华阴市| 浦江县| 剑川县| 田阳县| 清苑县| 榆中县| 湟中县| 巍山| 博客|