t*****z 发帖数: 812 | 1 我有一个mysql的table
CREATE TABLE test (
ka int not null auto_increment,
kb varchar(7) not null,
kc varchar(7) not null,
PRIMARY KEY ka,
UNIQUE KEY (kb,kc)
)
INSERT IGNORE INTO test VALUES (NULL,'aa','bb');
SELECT LAST_INSERT_ID(); ==> 1
INSERT IGNORE INTO test VALUES (NULL,'cc','dd');
SELECT LAST_INSERT_ID(); ==> 2
INSERT IGNORE INTO test VALUES (NULL,'aa','bb');
SELECT LAST_INSERT_ID(); ==> 0
因为第三个想插入的记录和第一个已插入的重复,所以实际上没有插入,请问如何知道第
三个插入的内容和第几个重复?
我知道可以重新查询如
if (LAST_INSERT_ID()==0)
| t*****z 发帖数: 812 | 2 自己顶一下, 难道高手们都不屑回答么? 好像挺常见的一个问题啊
【在 t*****z 的大作中提到】 : 我有一个mysql的table : CREATE TABLE test ( : ka int not null auto_increment, : kb varchar(7) not null, : kc varchar(7) not null, : PRIMARY KEY ka, : UNIQUE KEY (kb,kc) : ) : INSERT IGNORE INTO test VALUES (NULL,'aa','bb'); : SELECT LAST_INSERT_ID(); ==> 1
| a******8 发帖数: 46 | 3 For this case, I will first check if (kb,kc) exist before insert it into db.
【在 t*****z 的大作中提到】 : 我有一个mysql的table : CREATE TABLE test ( : ka int not null auto_increment, : kb varchar(7) not null, : kc varchar(7) not null, : PRIMARY KEY ka, : UNIQUE KEY (kb,kc) : ) : INSERT IGNORE INTO test VALUES (NULL,'aa','bb'); : SELECT LAST_INSERT_ID(); ==> 1
|
|