2017-05-27 3 views
1
は、連結を使用する方法(「操作名」には、

ちょうどスペースのために '、(MySQLのクエリは)別のテーブルから選択する?の連結方式(「文字列」、「使用方法」トリガーMySQLでは、MySQLのクエリを)

このように試してみました:

INSERT INTO log 
set operation = "create", 
detail= Concat("Creating new Data", ' ', (SELECT name from employees where employees.id = new.employ_id)), 
time = NOW() 

が、私は詳細に第三引数にエラーが発生しました...

しかし、私はこのようにしようとした場合:

INSERT INTO log 
set operation = "create", 
detail= SELECT name from employees where employees.id = new.employ_id, 
time = NOW() 

テーブルに新しいデータを作成すると従業員の名前が表示される

これを修正する方法は?ヘルプPLSの

おかげ

+0

エラーの内容を指定する必要があります。 2番目の 'insert 'はまったく動作しません。 –

答えて

0

私はあなたがこのようにロジックを記述する必要があると思う:

INSERT INTO log(operation, detail, time) 
    SELECT 'create', 
      concat('Creating new Data', ' ', e.name), 
      NOW() 
    FROM employees e 
    WHERE e.id = new.employ_id; 

私は、これはあなたのエラーを修正するかはわからない - あなたはそれが何であるかを指定していません。しかし、これはクエリを書くためのより自然な方法です。

+0

あなたの答えに感謝します!私はこれについてもっと練習をしなければならないと思います:) – DarkCode999

関連する問題