PB增加一条记录时怎样保证主键的唯一?

bihu 2001-11-19 09:54:23
我的主键是id,类型char,设为autoincrease,在增加记录时,不对id赋值,但是有时候记录的id会自动增加,有时候就不行,错误信息:
Integrity constraint violation: primary key for table 'office' is not unique
那么我该怎么保证主键的唯一呢?
...全文
410 15 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
bihu 2001-11-20
  • 打赏
  • 举报
回复
问题是字符串怎样转化为整型?
nanjQQ 2001-11-20
  • 打赏
  • 举报
回复
你可以在itemchanged事件中加以控制嘛
三杯倒 2001-11-20
  • 打赏
  • 举报
回复
不要相信什么autoincrease,还不如自己写代码。
hegum 2001-11-20
  • 打赏
  • 举报
回复
**字符串怎样转化为整型*
比如x=Integer("24")
但是你的数据库还是有问题啊?
killerdanny 2001-11-19
  • 打赏
  • 举报
回复
你用CHAR,还要自增。你还是自己写程序判断最大值,然后付值吧!
hegum 2001-11-19
  • 打赏
  • 举报
回复
*****我改了数据窗口后,导入时出错,可是出错那一行我还没开始修改呢 *****
修改数据窗口时要注意文件原来的格式及内容的位置,不然会出错的
iamxia 2001-11-19
  • 打赏
  • 举报
回复
要不然,增加一个INT字段,然后在程序中想想办法
bihu 2001-11-19
  • 打赏
  • 举报
回复
数据库能不能修改字段类型?
我改了数据窗口后,导入时出错,可是出错那一行我还没开始修改呢
hegum 2001-11-19
  • 打赏
  • 举报
回复
:-(,看来一开始你就不该用char
:-(,我用的ms Sql server2000,比adaptive server anywhere方便
**数据窗口怎么导出并修改呢?**
在library里选择数据窗口,再export... 数据窗口,然后用记事本改,再library里import!
bihu 2001-11-19
  • 打赏
  • 举报
回复
hegum说的我不会呀,alter table时不能修改字段类型呀,还有,数据窗口怎么导出并修改呢?好多窗口呢,我可不想每个都重做一遍,多谢了
bihu 2001-11-19
  • 打赏
  • 举报
回复
我这列很重要,用的是adaptive server anywhere
主要是用惯了ms的数据库,没想到sybase的antoincrease不管用
hegum 2001-11-19
  • 打赏
  • 举报
回复
同意BlackBone)
你可以在数据库里把id改为整数类型 ,再把你程序的数据窗口导出,把那里面的id char 改为id int,再导入程序。
zhanwei 2001-11-19
  • 打赏
  • 举报
回复
这取决于你使用的数据库;以:ms sql server 为例:
CREATE TABLE TEST(
TESTID INTEGER IDENTITY (1, 1) NOT NULL ,
TESENAME ...
)
建如上表,在数据窗口中不用对TESTID赋值;可以 autoincrease
而,用CHAR做autoincrease不常见!
另外,提醒你TESTID这种autoincrease的列最好不含实际意义!



bihu 2001-11-19
  • 打赏
  • 举报
回复
现在数据库已经建好了,不会要我重做吧?难道没有办法在程序中把char转化为int吗?
BlackBone 2001-11-19
  • 打赏
  • 举报
回复
不要用char,改用整数类型

1,108

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder 相关问题讨论
社区管理员
  • 基础类社区
  • WorldMobile
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧