mysql 不包含某些id_有没有更好的方法来查找表中某些东西的ID,即使它不存在[mysql]...

在写入规范化数据库时,我经常使用类似这样的逻辑。

在伪代码中:

is the thing I want in the table?:

yes - get it's ID

else

no - insert it, then get it's ID在PHP中:

// is the useragent in the useragent table?

// if so, find the id, else, insert and find.

$useragentResult = $mysqli->query("SELECT id FROM useragent WHERE name = '".$useragent."' LIMIT 1");

if ($useragentResult->num_rows == 0) {

// It is not in there

$mysqli->query("INSERT INTO useragent (name) VALUES ('".$useragent."')");

$resultID_object = $mysqli->query("SELECT LAST_INSERT_ID() as id");

$row = $resultID_object->fetch_object();

$useragentID = $row->id;

} else {

// It is, so find it and set it

$useragentData = $useragentResult->fetch_object();

$useragentID = $useragentData->id;

}这感觉很丑陋(不仅仅是由于PHP!),而且通用性也许还有更好的方法。

这样做的真正方式是什么,或者这是最好的方式?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值