avatar
About INSERT IGNORE# Database - 数据库
t*z
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)
avatar
t*z
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

avatar
a*8
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

相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。