请教一下varchar类型userId的问题

moren123 2014-02-19 12:02:28
我的表如下内容:
create table user
(
id int(10) unsigned primary key auto_increment,
userId varchar(10) unique,
....
);
比较笨的方法是先插入数据然后再更改userId
想问一下有没有只用插入数据的语句就能让userId值也同样是唯一值的办法?
...全文
197 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
ACMAIN_CHM 2014-02-20
  • 打赏
  • 举报
回复
没有什么好办法。
moren123 2014-02-19
  • 打赏
  • 举报
回复
引用 1 楼 microlab2009 的回复:
ALTER TABLE user ADD UNIQUE (userId) 
你好,我是想插入这个字段的值,不是想加一个新字段。
嘻哈大咖秀 2014-02-19
  • 打赏
  • 举报
回复
ALTER TABLE user ADD UNIQUE (userId) 
嘻哈大咖秀 2014-02-19
  • 打赏
  • 举报
回复
引用 7 楼 moren123 的回复:
userId是纯数字类型的,可以用id的值赋值给userId(插入的时候id的值还不知道,所以只能用insert+update)。 to microlab2009: 后台处理也需要在insert into之前确定一个新的userId和已有数据表里面的记录不重复才行啊,否则就会出错了。
那如果这个userid是通过数据库返回的话 那也只能这样做了 我是想不出什么好方法了
moren123 2014-02-19
  • 打赏
  • 举报
回复
userId是纯数字类型的,可以用id的值赋值给userId(插入的时候id的值还不知道,所以只能用insert+update)。 to microlab2009: 后台处理也需要在insert into之前确定一个新的userId和已有数据表里面的记录不重复才行啊,否则就会出错了。
wolfwu_kg5 2014-02-19
  • 打赏
  • 举报
回复
这个userId有什么命名规则吗?之前的10000条记录的命名有什么规律没?
嘻哈大咖秀 2014-02-19
  • 打赏
  • 举报
回复
引用 4 楼 moren123 的回复:
[quote=引用 3 楼 microlab2009 的回复:] [quote=引用 2 楼 moren123 的回复:] [quote=引用 1 楼 microlab2009 的回复:]
ALTER TABLE user ADD UNIQUE (userId) 
你好,我是想插入这个字段的值,不是想加一个新字段。[/quote] 这个不是插入新字段 而是增加新的索引 唯一性的索引[/quote] 你好,我是想问一下值如何插进来,唯一性的索引在建字段的时候已经加了unique了。但是这个字段的值我应该怎么确定,例如上面本身可能有10000条记录,每个记录都有一个不同的userId,我想插入一个新的userId,这个userId的值如何确定?我想到的办法是通过insert后update一次,但是效率太低了,想问一下有没有办法直接在插入的时候确定userId的值。[/quote] 这个userId不是跟用户相关的吗?可以通过后台处理啊取消相关性的userId 按常理说这个值是可以后台确认的啊 并且建了唯一性重新的插入会失败的
moren123 2014-02-19
  • 打赏
  • 举报
回复
引用 3 楼 microlab2009 的回复:
[quote=引用 2 楼 moren123 的回复:] [quote=引用 1 楼 microlab2009 的回复:]
ALTER TABLE user ADD UNIQUE (userId) 
你好,我是想插入这个字段的值,不是想加一个新字段。[/quote] 这个不是插入新字段 而是增加新的索引 唯一性的索引[/quote] 你好,我是想问一下值如何插进来,唯一性的索引在建字段的时候已经加了unique了。但是这个字段的值我应该怎么确定,例如上面本身可能有10000条记录,每个记录都有一个不同的userId,我想插入一个新的userId,这个userId的值如何确定?我想到的办法是通过insert后update一次,但是效率太低了,想问一下有没有办法直接在插入的时候确定userId的值。
嘻哈大咖秀 2014-02-19
  • 打赏
  • 举报
回复
引用 2 楼 moren123 的回复:
[quote=引用 1 楼 microlab2009 的回复:]
ALTER TABLE user ADD UNIQUE (userId) 
你好,我是想插入这个字段的值,不是想加一个新字段。[/quote] 这个不是插入新字段 而是增加新的索引 唯一性的索引

56,678

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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