自动生成的sql在哪里可以改?
mysql的语法 差不多支持
可能是Navicat的mysql的驱动还是5.7的吧
copy出来改啊,然后再执行
主要还是要看你的版本,我记得同时添加多个索引是不支持的,需要单独分开写。
应该支持,跟MySQL差不多
支持的,MySQL的语法基本都兼容
哦,我还以为可以在工具内部改呢
6.0以后DDL语法有改进,可以一次执行多个字段添加。参考MySQL语法。
1、上面问题是添加列少了add column 关键字符,
alter table t add column a varchar(10) alter column existcolumnb,
add column b varchar(10) after column a
2、添加多个列的时候,add column b的时候,after前面一个未添加的列a,还是会报错的,只能一个一个列添加
3、测试版本 7.1 还是存在此问题
去掉after就可以了
应该支持,跟MySQL差不多
肯定支持把,都是标准的sql语法
你这是本身语法有问题。看看基础sql。磨刀不误砍柴工!
1 个赞
支持alter table test322 add column (d varchar(10),e varchar(10));
支持是支持,你这语法有问题!
支持把,都是标准sql语法
TiDB 中的 ALTER TABLE
语法主要存在以下限制:
- 使用
ALTER TABLE
语句修改一个表的**多个模式对象(如列、索引)**时:- 不允许在多个更改中指定同一个模式对象。
- TiDB 根据执行前的表结构检查合法性。例如
ALTER TABLE t ADD COLUMN c1 INT, ADD COLUMN c2 INT AFTER c1;
会报错,因为表结构中不存在名字为c1
的列。 - TiDB 的执行顺序是从左往右逐个执行更改,该行为在个别场景下和 MySQL 不兼容。
- 不支持主键列上 Reorg-Data 类型的变更。
- 不支持分区表上的列类型变更。
- 不支持生成列上的列类型变更。
- 不支持部分数据类型(例如,部分时间类型、Bit、Set、Enum、JSON 等)的变更,因为 TiDB 中的
CAST
函数与 MySQL 的行为存在兼容性问题。 - 不支持空间数据类型。
-
ALTER TABLE t CACHE | NOCACHE
不是 MySQL 标准语法,而是 TiDB 扩展功能,参见缓存表。
其它限制可参考:TiDB 中 DDL 语句与 MySQL 的兼容性情况。
1 个赞