① 修改一個數據表的欄位值,可是這個欄位是索引列,修改有錯誤提示
錯誤的大概意思就是,資料庫中你要修改的欄位本來沒有有主鍵約束或唯一約束,而現在你要在這個欄位上加上主鍵或唯一約束,如果資料庫中沒有數據這樣做當然不會有任何問題,可是從你的錯誤來看你的資料庫中已經有了數據,而且在你要修改的欄位上有重復的數據
例如:你的資料庫中有兩個欄位id,name,此時你的資料庫中的數據:001,zhangsan;002,lisi;003,zhangsan,此時你在name欄位上加主鍵約束或唯一約束的話就會出你說的錯誤
解決辦法:
1、如果你的資料庫允許你現有的數據有重復的數據,你可以在可視化界面下建立主鍵或約束,在完成那一步里有個選項會詢問是否檢測現有數據,勾掉就可以了
2、如果你的資料庫不允許你現有的數據有重復的數據,這樣就比較麻煩了,你可以再別的列上加約束,也可以用多列上建立約束
註:其中有些地方說的不一定準確,還請以事實為依據
② java寫的帶資料庫的程序如何在沒安裝資料庫的系統上運行
你的問題應該從兩個方面進行分析
第一、使用java內嵌式資料庫
在程內序中容使用 Derby和HSQLDB等java內嵌式資料庫,只需在程序中將資料庫配置好即可,是程序專用的。
可以達到你所說的java資料庫程序不需要配置在任何機器上運行。
但是,內嵌式資料庫的處理能力很低,只適合小數據量的程序使用。
第二、使用Oracle、MSSql、MySql等資料庫
首先這些資料庫軟體需要安裝,即使不在本機安裝也需要在一台可以訪問到的機器上安裝,然後使用jdbc訪問。
如果程序安裝在已經安裝這些資料庫的機器上,你只需要將程序的資料庫訪問指向本機即可。
但是,在本機安裝資料庫的機器很少,大部分都是訪問網路上的資料庫,這就需要你引入配置文件。
在配置文件中進行參數配置。當然,你可以寫一些默認配置,當實際環境與默認配置不同時就需要修改默認配置。
所以說不用配置的程序其實是符合你默認配置的程序,你需要根據不同的系統或環境組織自己的默認配置文件。
沒有萬能的東西,只能是適應大部分,而且需要你在編寫程序時提前考慮針對各種運行環境的變化。
有問題請留言吧