首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MySQL Linux和Windows实体更改

MySQL Linux和Windows实体更改
EN

Database Administration用户
提问于 2015-10-08 13:01:17
回答 1查看 33关注 0票数 0

我在复制行并将其保存在另一个实体的实体上有一个触发器。

我还有两个MySQL服务器,一个在Linux上,另一个在Windows上。似乎同一表中的列在服务器之间的顺序是不同的。有办法让他们点同样的菜吗?某种配置?

我正在使用以下脚本创建一个审计表:

代码语言:javascript
复制
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 '');

原始实体上的触发器:

代码语言:javascript
复制
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保存实体的方式有什么不同吗?

EN

回答 1

Database Administration用户

发布于 2015-10-08 13:13:59

这是表定义的一部分,您需要执行类似的操作:

代码语言:javascript
复制
ALTER TABLE Table1 MODIFY COLUMN Column1 INT AFTER Column2;

这将使Column1在Column2之后移动。

更改表语法

票数 1
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/117404

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档