繁体   English   中英

将数据从一个数据库表插入同一服务器中的另一个数据库表

[英]Insert data from one database table to another database table in the same server

我使用 MYSQL 工作台编写了这个查询,用于将数据插入一个数据库到另一个数据库,但它不起作用,你能帮我解决这个问题吗

USE att2000;

在每行的 CHECKINOUT 上插入后创建触发器 trgAfterInsert

INSERT INTO orangehrm_mysql.ohrm_attendance_record(employee_id,punch_in_utc_time) values(USERID,CHECKTIME);
SELECT 
    checkinout.USERID, checkinout.CHECKTIME
FROM
    CHECKINOUT
WHERE
HOUR(CHECKTIME) < 12;



INSERT INTO orangehrm_mysql.ohrm_attendance_record(employee_id,punch_out_user_time) values(USERID,CHECKTIME);
SELECT 
    checkinout.USERID, checkinout.CHECKTIME
FROM
    CHECKINOUT
WHERE
HOUR(CHECKTIME) >= 12;

尝试没有values

 INSERT INTO orangehrm_mysql.ohrm_attendance_record(employee_id,punch_in_utc_time) 
 (    
    SELECT 
        checkinout.USERID, checkinout.CHECKTIME
    FROM
        CHECKINOUT
    WHERE
    HOUR(CHECKTIME) < 12
 );



INSERT INTO orangehrm_mysql.ohrm_attendance_record(employee_id,punch_out_user_time) 
(
    SELECT 
        checkinout.USERID, checkinout.CHECKTIME
    FROM
        CHECKINOUT
    WHERE
    HOUR(CHECKTIME) >= 12
);

干得好:

INSERT INTO orangehrm_mysql.ohrm_attendance_record(employee_id,punch_in_utc_time) 
    (
       SELECT co.USERID, co.CHECKTIME
       FROM att2000.CHECKINOUT co
       WHERE HOUR(co.CHECKTIME) < 12
    );



INSERT INTO orangehrm_mysql.ohrm_attendance_record(employee_id,punch_out_user_time) 
    (
        SELECT co.USERID, co.CHECKTIME
        FROM att2000.CHECKINOUT co
        WHERE HOUR(co.CHECKTIME) >= 12
    );

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM