【问题标题】:Creating a column in MySql with id such as CHV18000002在 MySql 中创建一个 ID 为 CHV18000002 的列
【发布时间】:2018-05-31 01:02:28
【问题描述】:

我可以在 Microsoft sql 中执行此操作以创建一个递增列,例如 CHV180000001、CHV180000002,但尝试在 MySql 中执行此操作。我试过但得到错误:语法不正确。实现这一目标的任何指南:这是我的代码:

CREATE TABLE Candidates (ID INT AUTO_INCREMENT NOT NULL Primary Key,
[ApplicationID]  AS ('CHV18'+right('000000'+CONVERT([varchar](6),[ID]),(6))),
    [FirstName] [varchar](100) NOT NULL,
    [MiddleName] [varchar](100) NOT NULL,
    [LastName] [varchar](100) NOT NULL,
    [DateOfBirth] [date] NOT NULL,
    [Gender] [nchar](1) NOT NULL

【问题讨论】:

  • MySQL 不在列名周围使用[]
  • 它使用CONCAT() 连接字符串,而不是+
  • MySQL 没有nchar 数据类型。
  • 看来您首先需要了解 SQL-Server 和 MySQL 之间的基本语法差异。一旦你解决了,你应该没问题。

标签: mysql type-conversion create-table computed-field


【解决方案1】:

试试这个来创建表

CREATE TABLE Candidates (ID INT(11) AUTO_INCREMENT NOT NULL Primary Key,
    ApplicationID varchar(6),
    FirstName varchar(100) NOT NULL,
    MiddleName varchar(100) NOT NULL,
    LastName varchar(100) NOT NULL,
    DateOfBirth date NOT NULL,
    Gender varchar(1) NOT NULL);

【讨论】:

    猜你喜欢
    • 2020-10-09
    • 2021-10-31
    • 2010-09-20
    • 1970-01-01
    • 2019-12-29
    • 2013-04-29
    • 1970-01-01
    • 2014-01-16
    • 1970-01-01
    相关资源
    最近更新 更多