我有一个mySQL数据库,有一个Perl脚本连接并进行数据操纵。其中一个表格如下:
CREATE TABLE `mydb`.`companies` (
`company_id` INT NOT NULL AUTO_INCREMENT,
`company_name` VARCHAR(100) NULL ,
PRIMARY KEY (`company_id`) );
我想在这个表中插入一些数据,但问题是数据中的某些公司可能会重复。
问题是:如何检查“company_name”是否已经存在?如果存在,我需要检索“company_id”并将其用于插入到另一个表中。如果不存在,则应将此信息输入到此表中,但我已经有了这个代码。
以下是一些附加要求:脚本可以同时运行多次,因此我不能只读取数据到哈希表中并检查它是否已经存在。
我可以抛出额外的“SELECT”查询,但这将在数据库上创建额外的负载。
我试图寻找答案,但这里的每个问题或网页线程都谈论使用主键检查。我不需要这个。数据库结构已经设置好了,但如果需要,我可以进行更改。这个表将被用作附加表。
还有其他方法吗?在DB和Perl中都可以。
$dbh->{mysql_insertid}
?) - pilcrow