0

我在 MySQL 工作台中创建了一个模型,当我想对其进行正向工程以创建“创建”和“插入”脚本时,我收到以下错误:

错误:

Executing SQL script in server
ERROR: Error 1366: Incorrect integer value: 'G1' for column 'gebruiker_id' at row 1
SQL Code:
        INSERT INTO `databaseher`.`gebruiker` (`gebruiker_id`, `voornaam`, `achternaam`, `E-mail`) VALUES ('G1', 'Ronny', 'Giezen', 'r.giezen@gmail.com')

我不明白它有什么问题,因为插入值“G1”的列的数据类型是“VARCHAR(4)”。应该可以同时插入一个字母和一个数字……至少我是这么想的……

这是创建表:

CREATE TABLE IF NOT EXISTS `databaseher`.`gebruiker` (
  `gebruiker_id` VARCHAR(4) NOT NULL,
  `voornaam` VARCHAR(25) NOT NULL,
  `achternaam` VARCHAR(20) NOT NULL,
  `E-mail` VARCHAR(30) NOT NULL,
  PRIMARY KEY (`gebruiker_id`),
  UNIQUE INDEX `E-mail_UNIQUE` (`E-mail` ASC) VISIBLE)
ENGINE = InnoDB;

如果有人可以提供帮助,那就太棒了。

先感谢您!

4

1 回答 1

0

这里只是一个猜测,因为我们没有完整的画面。你能运行这个:

Drop table 'databaseher'.'gebruiker'

并在重新创建表之后

CREATE TABLE IF NOT EXISTS `databaseher`.`gebruiker` (
  `gebruiker_id` VARCHAR(4) NOT NULL,
  `voornaam` VARCHAR(25) NOT NULL,
  `achternaam` VARCHAR(20) NOT NULL,
  `E-mail` VARCHAR(30) NOT NULL,
  PRIMARY KEY (`gebruiker_id`),
  UNIQUE INDEX `E-mail_UNIQUE` (`E-mail` ASC) VISIBLE)
ENGINE = InnoDB;

重新运行插入。我猜该表最初是使用列 gebruiker 作为整数创建的

于 2020-01-17T20:58:31.957 回答