我在复制行并将其保存在另一个实体的实体上有一个触发器。
我还有两个MySQL服务器,一个在Linux上,另一个在Windows上。似乎同一表中的列在服务器之间的顺序是不同的。有办法让他们点同样的菜吗?某种配置?
我正在使用以下脚本创建一个审计表:
CREATE TABLE xxx.AuditEntity (
auditAction VARCHAR(45) NULL DEFAULT NULL COMMENT '',
auditTime DATETIME NULL DEFAULT NULL COMMENT '',
type VARCHAR(64) NULL COMMENT '',
id BIGINT(20) NOT NULL COMMENT '',
modifiedBy BIGINT(20) NULL DEFAULT NULL COMMENT '',
timeCreated DATETIME NULL COMMENT '',
currency VARCHAR(32) NULL COMMENT '',
nameVARCHAR(128) NULL DEFAULT NULL COMMENT '',
INDEX auditTime (auditTime ASC) COMMENT '',
INDEX id (id ASC) COMMENT '');原始实体上的触发器:
CREATE DEFINER=`root`@`localhost`
TRIGGER xxx.entity_AINS AFTER INSERT ON Entity FOR EACH ROW
BEGIN INSERT INTO AuditEntity select 'AFTER_INSERT', now(), e.*
from Entity e where id = NEW.id;
END因为两个服务器中的列有不同的顺序,所以不能工作。
我们的想法不是显式地写出列的名称,Linux和Windows保存实体的方式有什么不同吗?
发布于 2015-10-08 13:13:59
这是表定义的一部分,您需要执行类似的操作:
ALTER TABLE Table1 MODIFY COLUMN Column1 INT AFTER Column2;这将使Column1在Column2之后移动。
https://dba.stackexchange.com/questions/117404
复制相似问题