我开始使用谷歌搜索,发现这篇文章讨论了互斥表.
我有一张约有1400万条记录的表格.如果我想以相同的格式添加更多数据,有没有办法确保我想要插入的记录不存在而不使用一对查询(即,一个查询要检查,一个要插入是结果集是空)?
unique对某个字段的约束是否保证insert如果它已经存在则会失败?
似乎只有一个约束,当我通过php发出插入时,脚本呱呱叫.
我写了一个访问MySQL innodb数据库的java程序.
每当INSERT IGNORE语句遇到重复条目时,Auto Increment主键就会递增.
这种行为是预期的吗?我认为IGNORE不应该发生这种情况.这意味着IGNORE实际上会产生额外的开销来写入新的主键值.
表格如下:
CREATE TABLE `tablename` (
`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
`rowname` varchar(50) NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `rowname` (`rowname`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
Run Code Online (Sandbox Code Playgroud)
谢谢!