{MySQL} 错误 #1054 SQL 看起来不错(触发器)
{MySQL} Error #1054 SQL seems fine(Trigger)
我收到错误消息:
#1054 - Unknown column 'kaseamgc_store.plans.plan_id' in 'where clause'
此消息来自我的触发器,它是插入前触发器。它运行以下 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 行
编辑: 所以我似乎到处都是这个问题。我知道这与线条有关,但不知道为什么会这样。这是我想比较两个 * 变量的地方。有什么想法吗?
您正在更新 table kaseamgc_store.store_players
并期望 table kaseamgc_store.plans
(plan_id
) 的列。
UPDATE kaseamgc_store.store_players -- table store_players
SET ...
WHERE kaseamgc_store.plans.plan_id .... -- table plans
那不行。正确的解决方案取决于您的确切需求。先前对局部变量的赋值可能是一个解决方案。
我收到错误消息:
#1054 - Unknown column 'kaseamgc_store.plans.plan_id' in 'where clause'
此消息来自我的触发器,它是插入前触发器。它运行以下 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
编辑: 所以我似乎到处都是这个问题。我知道这与线条有关,但不知道为什么会这样。这是我想比较两个 * 变量的地方。有什么想法吗?
您正在更新 table kaseamgc_store.store_players
并期望 table kaseamgc_store.plans
(plan_id
) 的列。
UPDATE kaseamgc_store.store_players -- table store_players
SET ...
WHERE kaseamgc_store.plans.plan_id .... -- table plans
那不行。正确的解决方案取决于您的确切需求。先前对局部变量的赋值可能是一个解决方案。