寫在前面
目的是測試將csv文件內容導入到表中, 同時記錄一下自增主鍵的設置.
測試采用MySQL8.0.
新建表customer_info如下, 未設置主鍵.
修改上表, 添加主鍵id, 並設置為自增.
ALTER TABLE customer_info ADD COLUMN id INT AUTO_INCREMENT NOT NULL PRIMARY KEY;
導入步驟
1.為了模擬數據, 直接把這三條記錄導出到csv文件中.
2.將該文件導入到表customer_info中.
csv文件中沒有表頭, 第一行就是數據, 所以改為1;
字段名行: 1這個沒改, 點下一步如下:
3.驗證導入結果
刷新表, 查看導入結果, 確實是從文件中的第一條數據張三開始導入的.文件內容已完全導入到表中.
小結
MySQL新增自增主鍵
ALTER TABLE customer_info ADD COLUMN id INT AUTO_INCREMENT NOT NULL PRIMARY KEY;
MySQL修改字段為自增主鍵
ALTER TABLE customer_info CHANGE COLUMN id id INT AUTO_INCREMENT PRIMARY KEY;
如果id本身就是主鍵, 僅僅是想設置為自增上面sql就不需要加PRIMARY KEY了.
SQLServer新增自增主鍵
ALTER TABLE sms_rec ADD id INT IDENTITY (1, 1) PRIMARY KEY;
修改字段為自增主鍵就不表演了..因為我是先把id那列干掉然后執行的上面一行...low了點, 能用...
Oracle新增自增主鍵(參考https://www.cnblogs.com/karrya/p/10888358.html)
Oracle通過設置序列和觸發器實現主鍵自增
1)建表
/*第一步:創建表格*/ create table t_user( id int primary key, --主鍵,自增長 username varchar(20), password varchar(20), type varchar(20) );
2)創建自增序列
/*第二步:建立自定義的sequence*/ CREATE SEQUENCE user_sequence increment by 1 -- 每次加幾個 start with 1 -- 從1開始計數 nomaxvalue -- 不設置最大值 nocycle -- 一直累加,不循環 nocache -- 不建緩沖區
3)創建觸發器
/*第三步:建立觸發器*/ create trigger mem_trig before insert on t_user for each row when (new.id is null) begin select user_sequence.nextval into:new.id from dual; end;