首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >考虑到“显示变量”(如‘%version%’)的输出,如何确定应该使用哪种语法?

问考虑到“显示变量”(如‘%version%’)的输出,如何确定应该使用哪种语法?
EN

Stack Overflow用户
提问于 2021-10-30 18:49:04
回答 1查看 68关注 0票数 0

有时我会发现一些奇怪的SQL错误,这些错误告诉我要检查我的MySQL版本。

代码语言:javascript
复制
mysql> CREATE TABLE city (
    ->     id int  NOT NULL IDENTITY(1, 1),
    ->     city_name char(128)  NOT NULL,
    ->     lat decimal(9,6)  NOT NULL,
    ->     long decimal(9,6)  NOT NULL,
    ->     country_id int  NOT NULL,
    ->     CONSTRAINT city_pk PRIMARY KEY  (id)
    -> );
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IDENTITY(1, 1),
    city_name char(128)  NOT NULL,
    lat decimal(9,6)  NOT NUL' at line 2

所以我想:

代码语言:javascript
复制
mysql> show variables like '%version%';
+--------------------------+-------------------------------+
| Variable_name            | Value                         |
+--------------------------+-------------------------------+
| admin_tls_version        | TLSv1,TLSv1.1,TLSv1.2,TLSv1.3 |
| immediate_server_version | 999999                        |
| innodb_version           | 8.0.27                        |
| original_server_version  | 999999                        |
| protocol_version         | 10                            |
| replica_type_conversions |                               |
| slave_type_conversions   |                               |
| tls_version              | TLSv1,TLSv1.1,TLSv1.2,TLSv1.3 |
| version                  | 8.0.27-0ubuntu0.20.04.1       |
| version_comment          | (Ubuntu)                      |
| version_compile_machine  | x86_64                        |
| version_compile_os       | Linux                         |
| version_compile_zlib     | 1.2.11                        |
+--------------------------+-------------------------------+

错误信息的其余部分告诉我检查手册,但我不确定该检查哪一个。这个输出告诉我的是,我使用的是未指定的8.0.27版本。那么,从书本上看,我下一步应该做些什么来发现我原来的语法错误呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-10-30 18:53:40

IDENTITY()不受MySQL支持。这是Microsoft SQL Server (和Sybase)的问题。

您希望使用AUTO_INCREMENT为主键分配单调递增的整数。

在这里阅读:https://dev.mysql.com/doc/refman/8.0/en/example-auto-increment.html

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

https://stackoverflow.com/questions/69781192

复制
相关文章

相似问题

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