我收到错误消息:
#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
编辑:所以我似乎全身都遇到了这个问题。我知道它与线条有关,但不知道它为什么会发生。这是我想要比较两个*变量的地方。有什么想法吗?
答案 0 :(得分:0)
您正在更新表格kaseamgc_store.store_players
,并期待一列表格kaseamgc_store.plans
(plan_id
)。
UPDATE kaseamgc_store.store_players -- table store_players
SET ...
WHERE kaseamgc_store.plans.plan_id .... -- table plans
那不行。正确的解决方案取决于您的确切需求。先前对局部变量的赋值可能是一种解决方案。