【发布时间】:2018-04-30 07:52:12
【问题描述】:
我必须检查表 forex_rates_new 中是否存在记录,我需要检查 2 个标准,即它必须比较机构 ID 和货币名称。如果 Agency_id 和 currency_name 相同,则系统必须 UPDATE 或 INSERT。
forex_rates_new
id agency_id currency_name rate
1 1111 aaa 1.898
2 2190 aaa 0.787
如果出现值为 111 的机构_id 和带有美元的货币名称,则该数据在数据库中。下次如果用户输入与 USD 相同的值 111 和 currency_name,则记录应进入更新模式或插入。这是我的查询:
INSERT INTO forex_rates_new (`agency_id`,`currency_name`,`rate`,`logo`,`created_at`)
VALUES('".$agency_id."','".$currency_name."','".$rate."','".$logo."', now())
感谢任何帮助
【问题讨论】:
-
首先使用选择查询检查给定
agency_id和currency_name的值是否存在。如果返回的行数大于0,则使用上述查询更新 else insert。 -
为什么要手动插入 ID?最佳做法是让您的数据库自动分配 ID。如果
agency_id和currency_name不相同但ID 已经存在怎么办?你会运行INSERT?我建议让您的 ID 自动递增并仅按 ID 检查。如果 ID 存在,则更新,否则插入。 -
没有自动插入 ID。 ID 是主键。