① 修改一个数据表的字段值,可是这个字段是索引列,修改有错误提示
错误的大概意思就是,数据库中你要修改的字段本来没有有主键约束或唯一约束,而现在你要在这个字段上加上主键或唯一约束,如果数据库中没有数据这样做当然不会有任何问题,可是从你的错误来看你的数据库中已经有了数据,而且在你要修改的字段上有重复的数据
例如:你的数据库中有两个字段id,name,此时你的数据库中的数据:001,zhangsan;002,lisi;003,zhangsan,此时你在name字段上加主键约束或唯一约束的话就会出你说的错误
解决办法:
1、如果你的数据库允许你现有的数据有重复的数据,你可以在可视化界面下建立主键或约束,在完成那一步里有个选项会询问是否检测现有数据,勾掉就可以了
2、如果你的数据库不允许你现有的数据有重复的数据,这样就比较麻烦了,你可以再别的列上加约束,也可以用多列上建立约束
注:其中有些地方说的不一定准确,还请以事实为依据
② java写的带数据库的程序如何在没安装数据库的系统上运行
你的问题应该从两个方面进行分析
第一、使用java内嵌式数据库
在程内序中容使用 Derby和HSQLDB等java内嵌式数据库,只需在程序中将数据库配置好即可,是程序专用的。
可以达到你所说的java数据库程序不需要配置在任何机器上运行。
但是,内嵌式数据库的处理能力很低,只适合小数据量的程序使用。
第二、使用Oracle、MSSql、MySql等数据库
首先这些数据库软件需要安装,即使不在本机安装也需要在一台可以访问到的机器上安装,然后使用jdbc访问。
如果程序安装在已经安装这些数据库的机器上,你只需要将程序的数据库访问指向本机即可。
但是,在本机安装数据库的机器很少,大部分都是访问网络上的数据库,这就需要你引入配置文件。
在配置文件中进行参数配置。当然,你可以写一些默认配置,当实际环境与默认配置不同时就需要修改默认配置。
所以说不用配置的程序其实是符合你默认配置的程序,你需要根据不同的系统或环境组织自己的默认配置文件。
没有万能的东西,只能是适应大部分,而且需要你在编写程序时提前考虑针对各种运行环境的变化。
有问题请留言吧