MySQL触发更新其他表

时间:2016-02-10 03:13:30

标签: mysql triggers

我有两张桌子:

  

表1 = SAMPLE_TABLE

     

表2 = RESULT_TABLE(带有建议的触发器)

我想在RESULT表中使用一个触发器,当一个新记录插入其中时,它将更新SAMPLE表中一个名为'status'=“complete”的字段。要在SAMPLE中更新的字段'status'与RESULT相关:

  

表1 = SAMPLE_TABLE('client_sampleID')

     

=

     

表2 = RESULT_TABLE('sampleID')

这是建议的触发器

CREATE DEFINER = `user`@`%` TRIGGER `database`.`RESULT_TABLE_BEFORE_INSERT` 
AFTER INSERT ON `RESULT_TABLE` FOR EACH ROW
BEGIN
UPDATE SAMPLE_TABLE
   SET status = 'complete'
 WHERE SAMPLE_TABLE.client_sampleID = RESULT_TABLE.sampleID;
END

我的问题:

  1. 上面的触发器是OK吗?

  2. 每个'sampleID'有100多个'client_sampleID'(全部相同,作为批处理输入)。是否有更有效的方法来设置'状态',以便它只在遇到第一个实例后才会发生?

1 个答案:

答案 0 :(得分:3)

你非常接近。您只需在触发器中使用@app.after_request def add_headers(response): response.headers.add('Access-Control-Allow-Origin', '*') response.headers.add('Access-Control-Allow-Headers', 'Content-Type,Authorization')

from flask import Flask, request
from sklearn.externals import joblib

app = Flask(__name__)
相关问题