2015-04-16 2 views
0

Я получаю сообщение об ошибке:{MySQL} Ошибка # 1054 SQL кажется отлично (Trigger)

# 1054 - Неизвестный столбец '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:

enter image description here

У меня есть 4 строки, так что я должен иметь 1-4 в plans.plan_id

Edit: Так я, кажется, имея эта проблема повсюду. Я знаю, что это имеет какое-то отношение к линиям, но не знаю, почему это происходит. Здесь я хочу сравнить две переменные. Есть предположения?

+0

Трудно сказать, есть ли у вас вопрос или вы решили, какая проблема была. Кроме того, вам нужно отметить только те СУБД, которые имеют значение. Вы используете SQL-сервер или mysql? Это не одно и то же. –

+0

Добавьте полный код триггера в вопрос. –

+0

@SeanLange Я не решил это, извините, я был неясен. Использование сервера mysql не знало, что они не совпадают. – 3rdaccountQQ

ответ

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 

Это не сработает. Правильное решение зависит от того, что вам нужно. Предыдущим назначением локальной переменной может быть решение.