【发布时间】:2015-04-16 15:53:45
【问题描述】:
我收到错误消息:
#1054 - 'where 子句'中的未知列 'kaseamgc_store.plans.plan_id'
这条消息来自我的触发器,它是一个插入前触发器。它运行以下 SQL:
UPDATE kaseamgc_store.store_players
SET credits = credits + kaseamgc_store.plans.creditvalue
WHERE kaseamgc_store.plans.plan_id = kaseamgc_store.orders.plan_id
AND kaseamgc_store.store_players.authid LIKE '%kaseamgc_store.orders.steam_id'
现在我在收到消息时运行了以下 SQL(可能无关紧要):
INSERT INTO finish_order (txn_id, payer_email, mc_gross, steam_id, username,
password, date, provider, plan_id, forum_userid)
VALUES ('info', 'email-adress', '1.00', 'STEAM_ID', 'TheUsername',
'no-pass', 20150416, 'paypal', 1, 0)
我已经删除了一些信息,但这无关紧要。无论如何,这里有一些关于列 plans.plan_id 在 phpmyadmin 中的截图:
我有 4 行,所以我应该在 plans.plan_id 中有 1-4 行
编辑:所以我似乎遇到了这个问题。我知道这与台词有关,但不知道为什么会这样。这是我想比较两个*变量的地方。有什么想法吗?
【问题讨论】:
-
很难判断您是否有问题,或者您是否解决了任何问题。此外,您只需要标记那些相关的 DBMS。你用的是sql server还是mysql?它们不是一回事。
-
将触发器的完整代码添加到问题中。
-
@SeanLange 我还没有解决它,抱歉我不清楚。使用mysql服务器,不知道它们不一样。
-
@AbhikChakraborty 这是完整的触发器,缺少什么?除了 ;因为你不需要在 phpmyadmin 中拥有它