Mysql 在插入请求中增加我的id

Mysql 在插入请求中增加我的id,mysql,increment,Mysql,Increment,我有一张有几行的桌子 idClient,名称,地址,国家/地区 我想知道如何在sql请求中使用自动增量my idClient向该表中插入。。? Thx 编辑:我想做这样的请求 insert into Client values((select max(idClient),...) 然后,在插入到表中时,从插入中排除自动递增的主键列: INSERT INTO Client (name, address, country) VALUES ('name', 'address', 'country

我有一张有几行的桌子

idClient,名称,地址,国家/地区

我想知道如何在sql请求中使用自动增量my idClient向该表中插入。。? Thx

编辑:我想做这样的请求

insert into Client values((select max(idClient),...)
然后,在插入到表中时,从插入中排除自动递增的主键列:

INSERT INTO Client (name, address, country)
  VALUES ('name', 'address', 'country')...;
将生成idClient的新值

如果一个应用程序有多个实例同时插入行,这是安全地执行此操作的唯一方法。使用您描述的MAX(idClient)方法将不起作用,因为它受竞争条件的影响

然后,在插入到表中时,从插入中排除自动递增的主键列:

INSERT INTO Client (name, address, country)
  VALUES ('name', 'address', 'country')...;
将生成idClient的新值


如果一个应用程序有多个实例同时插入行,这是安全地执行此操作的唯一方法。使用您描述的MAX(idClient)方法将不起作用,因为它受竞争条件的影响。

将id列定义为
自动增量
,然后完全跳过分配:

CREATE TABLE clients (
id MEDIUMINT NOT NULL PRIMARY KEY,
name VARCHAR(255),
addr VARCHAR(255),
country VARCHAR(255),
PRIMARY KEY (id));

INSERT INTO clients
(name, addr, country)
VALUES
("name", "addr", "country");

将id列定义为
自动增量
,然后完全跳过分配:

CREATE TABLE clients (
id MEDIUMINT NOT NULL PRIMARY KEY,
name VARCHAR(255),
addr VARCHAR(255),
country VARCHAR(255),
PRIMARY KEY (id));

INSERT INTO clients
(name, addr, country)
VALUES
("name", "addr", "country");