【发布时间】:2012-08-24 21:32:31
【问题描述】:
您是否发现此 MySQL 查询有任何问题?它不执行。 还有其他更好的想法吗?
INSERT INTO registration
( m_ID, e_ID, STATUS)
SELECT
:m_ID, :e_ID, 1
WHERE
EXISTS ( SELECT 1 FROM tableb WHERE ID = :e_ID)
AND EXISTS ( SELECT 1 FROM tablec WHERE m_ID = :m_ID)
使用e_id 和m_ID (PDO) 的值传递数组
基本上,目标是在插入到另一个表之前检查两个 ID 是否存在于不同的表中。
错误:
SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL
syntax; check the manual that corresponds to your MySQL server version for the right
syntax to use near 'WHERE EXISTS ( SELECT 1 FROM tableb WHERE ID = '276') AND EX' at
line 4
【问题讨论】:
-
投票结束。请更具体地说明您的问题。我看到您的查询有 4,123 个问题。哪些是你关心的?
-
告诉我该查询的一个问题?为什么它不执行?
-
@KevinRave:告诉我们一条错误消息。发布您的 PHP 代码也会有很大帮助。
-
您的错误信息与您发布的查询不符。
-
尝试单独运行该子查询,首先使用该值 276,然后使用数组。两者都独立工作吗?