0

我有一个 IndoDB 表

CREATE TABLE `users` (
  `id` int(10) unsigned NOT NULL,
  `network_id` int(10) unsigned NOT NULL,
  `nickname` varchar(20) NOT NULL DEFAULT '',
  PRIMARY KEY (`id`),
 UNIQUE KEY `network_id` (`network_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8

在 php 中,我收到(从哪里来)一个数组$network_info,其中包含对network_id, nickname。对于那些network_id出现在users我想更新他们的nickname. 对于那些不存在的我想将它们插入到表中生成 (new incremented) id

早些时候,我使用id了 AUTO_INCREMENT,但是诸如此类的查询INSERT IGNORE会一直递增它,即使没有插入,也不好。

解决这个问题的最佳方法是什么?

4

1 回答 1

0

将您的行更改id为 -

`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,

你可以继续使用 int(10),但我总是发现最好让 id 能够增长到巨大的大小,以防万一有一天需要它。

之后CHARSET=ut8,添加——

AUTO_INCREMENT=1;

这样表就知道从哪里开始递增。

于 2013-05-29T14:38:46.640 回答