php - 如果表 1 中存在值,则插入表 2 mysql

标签 php mysql if-statement

对于我的订购系统,当管理员插入订单时,我需要检查他为订单插入的客户是否存在于我的客户表中。
我正在尝试这样的事情,但没有运气..

$sql = "IF EXISTS(SELECT * FROM customer WHERE customer_id = '$customer')
THEN insert into `order` (customer_id, product, quantity, creation_time, order_note, order_employee)
values ('$customer', '$product', '$quantity', 'now()', '$note', '$employee')";

错误:第一行有语法错误。 这里有什么问题?
这是正确的方法吗?有没有更好的办法?

最佳答案

你可能想“向后”做 - 如果存在则插入:

$sql = "insert into `order` (customer_id, product, quantity, creation_time, order_note, order_employee)
select '$customer', '$product', '$quantity', now(), '$note', '$employee'
from dual
where EXISTS(SELECT * FROM customer WHERE customer_id = '$customer')";

关于php - 如果表 1 中存在值,则插入表 2 mysql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23013399/

相关文章:

perl - 奇怪的 Perl 条件运算符行为

php - 如何在mysql的单列中保存多个图像

mysql - 如何暂时禁用 MySQL 中的外键约束?

php - 在数组中跳过 mysql 数据库中的值

javascript - php foreach循环和表单中的addmore按钮

mysql - ZF2 查询日期时间列的 DATE() WHERE 子句

c++ - if 语句 - 短路评估与可读性

java - java 中的错误 - 查找 ArrayList 中的最大值

php - 设置图像顺序和加载优先级

php - 网页音频加载后删除