将唯一值插入 MYSQL
我正在尝试将唯一值插入到我的表中,但是在创建它之前我需要知道 ID
。我知道 AUTO_INCRMENT
可以解决这个问题,但这个字段不是 AUTO_INCRMENTed
。
这是我的代码...
INSERT INTO networks
(NETWORK_ID, ADMIN_USER_ID, NETWORK_NAME, ADDRESS)
VALUES
((SELECT MAX(NETWORK_ID)+1 FROM networks) , 3, 'Arcafe', 'habarzel 2 TA')
当我运行它时,我收到一条警告,指出我无法使用 FROM
中的表,我猜是因为它指向自身。我怎样才能实现我所需要的?我可以将字段更改为 AUTO_INCRMENT
字段吗?
I am trying to insert a unique value into my table, however I need to know the ID
before I create it. I know an AUTO_INCREMENT
would have solved this problem, but this field is not AUTO_INCREMENTed
.
This is my code...
INSERT INTO networks
(NETWORK_ID, ADMIN_USER_ID, NETWORK_NAME, ADDRESS)
VALUES
((SELECT MAX(NETWORK_ID)+1 FROM networks) , 3, 'Arcafe', 'habarzel 2 TA')
When I run it, I get a warning that I can't use the table in the FROM
, I guess because it is pointing to itself. How can I achieve what I need? Can I change a field into an AUTO_INCREMENT
field?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
更改表手册
Alter Table Manual
通常在定义字段时将其设置为自动增量字段。为此,您可以使用:
然后插入一条新记录并自动获取分配的 ID,只需在插入中省略该字段,例如。
Usually you set the field to be an auto increment field when it is defined. To do so afterwards, you can use:
To then insert an ew record and for it to automatically get an assigned ID, merely omit the field from the insert, eg.
您可以使用单独的表来生成唯一的 id 并使用此 id
You can use separate table for generation unique ids and use this ids