如何解決自增列賦值的問題
現象描述
我們有時候會遇到自增列賦值的問題,尤其是當之前使用的是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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- MySQL自增列的重複值問題(r12筆記第25天)MySql筆記
- MySQL自增列ID的面試題MySql面試題
- shell 變數賦值問題變數賦值
- stuts2的賦值問題 1賦值
- MySQL·8.0.0新特性·持久化自增列值MySql持久化
- [基礎問題] 陣列賦值陣列賦值
- golang 實現多型的賦值問題Golang多型賦值
- Jtti:如何解決空間ping值低的問題?Jtti
- 如何解決Windows電腦自動黑屏問題?Windows
- 僅當指定列列表,且SET IDENTITY_INSERT為ON時,才能對自增列賦值IDE賦值
- php 自增賦值PHP賦值
- mysql自增列MySql
- 問題分享:Js引用型別賦值JS型別賦值
- MySQL中的自增列MySql
- 如何解決自動化切換資料庫的問題資料庫
- 如何解決soap的效能問題?
- js基礎-20-js物件賦值時的key值問題JS物件賦值
- vue 變數賦值同時改變的問題Vue變數賦值
- 請教一個切片遞迴賦值的問題遞迴賦值
- 如何解決 github 訪問慢的問題Github
- 如解決jquery與原生js衝突的問題jQueryJS
- DMSQL DM自增列的使用SQL
- 如何解決sms-activate的解決問題
- Rust 如何解決 C++ 的問題?RustC++
- mysql亂碼的問題如何解決MySql
- flutter run 卡住的問題如何解決Flutter
- 跨域問題?如何解決?跨域
- 通過shell指令碼模擬MySQL自增列的不一致問題指令碼MySql
- vector訪問與賦值賦值
- 如何解決網站限制IP訪問的問題網站
- 請問如何解決聊天室的私聊問題
- 如何解決OpenStack雲的互聯問題?
- 如何解決PuTTY中文亂碼的問題
- 父母的養老問題該如何解決?
- 如何解決iPhone按鈕卡住的問題iPhone
- 如何解決B/S中的列印問題?
- 如何解決 oppo 手機 root 的問題
- 解決 Vue 動態生成 el-checkbox 點選無法賦值問題Vue賦值