如何解決自增列賦值的問題
現象描述
我們有時候會遇到自增列賦值的問題,尤其是當之前使用的是Mysql 時,在往達夢或者其他資料庫遷移後,如果目的資料庫無法進行自增列賦值,之前的應用程式怎麼辦?
應用中可能遇到報錯:不可修改自增列
處理方法
修改表結構,不再使用自增列,而是使用普通列,同事設定預設值為序列。
原因:
1. 自增列賦值本身是一個mysql 不嚴謹的用法,自增列本身應該有系統管理,不應該可以賦值
2. 雖然在其他資料庫,如達夢資料庫上,可以通過相關開關來開啟自增列輔助的功能,但是這個功能預設是關閉的,也應該是關閉的
3. 那麼在之前的Mysql 應用場景中,我們只需要通過普通列+ 序列預設值的方式,就可以解決該問題。
具體例子如下:
Mysql 建表如下:
create table test3
(
id int auto_increment not null,
str varchar(2),
key(id)
);
在DM 應該先手動遷移該表結構,在遷移資料:
create SEQUENCE seq_auto_increment_test3 INCREMENT by 1 START WITH 1 ;
create table test3
(
id int default seq_auto_increment_test3.nextval primary key,
str varchar(2)
);
這樣變更的表結構,“自增列”的賦值屬性,包括其他用法,是基本一致的,可以繞過前述問題,保證應用正常。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69949798/viewspace-2660879/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Jtti:如何解決空間ping值低的問題?Jtti
- MySQL自增列ID的面試題MySql面試題
- 僅當指定列列表,且SET IDENTITY_INSERT為ON時,才能對自增列賦值IDE賦值
- shell 變數賦值問題變數賦值
- 如何解決Windows電腦自動黑屏問題?Windows
- MySQL中的自增列MySql
- 如何解決自動化切換資料庫的問題資料庫
- 問題分享:Js引用型別賦值JS型別賦值
- 如何解決 github 訪問慢的問題Github
- php 自增賦值PHP賦值
- js基礎-20-js物件賦值時的key值問題JS物件賦值
- 請教一個切片遞迴賦值的問題遞迴賦值
- vue 變數賦值同時改變的問題Vue變數賦值
- DMSQL DM自增列的使用SQL
- 如何解決sms-activate的解決問題
- Rust 如何解決 C++ 的問題?RustC++
- mysql亂碼的問題如何解決MySql
- flutter run 卡住的問題如何解決Flutter
- 跨域問題?如何解決?跨域
- 解決 Vue 動態生成 el-checkbox 點選無法賦值問題Vue賦值
- 如何解決網站限制IP訪問的問題網站
- 如何解決PuTTY中文亂碼的問題
- 如何解決 oppo 手機 root 的問題
- 如何解決OpenStack雲的互聯問題?
- 父母的養老問題該如何解決?
- 如何解決iPhone按鈕卡住的問題iPhone
- 如何解決app閃退問題APP
- 如何解決TOP-K問題
- 前端跨域問題如何解決前端跨域
- 如何解決MRAM壽命問題
- 如何解決快取失效問題快取
- vector訪問與賦值賦值
- [問題貼] 如何解決獲取到的 toast 的文字為空的問題?AST
- 如何解決90%的NLP問題:逐步指導
- 移動辦公的安全問題如何解決?
- 如何解決Redis中的key過期問題Redis
- WPF 讀取圖片 賦值Image控制元件 解決圖片佔用問題賦值控制元件
- 如何解決0.1 +0.2===0.30000000000000004類問題