【问题标题】:phpMyAdmin import schema from workbenchphpMyAdmin 从工作台导入架构
【发布时间】:2014-03-30 20:37:30
【问题描述】:

我在 mySQLWorkbench 中为数据库创建了一个模式,然后我试图将其导入 phpMyAdmin,但是它在我的代码中发现了一个错误。我尝试了几个在线 sql 验证器,它们也标记了相同的错误。我看不到错误,也看不到我的工作台设置有什么问题。 我的架构的开始

SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0;
SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0;
SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='ALLOW_INVALID_DATES';

DROP SCHEMA IF EXISTS `travelapp` ;
CREATE SCHEMA IF NOT EXISTS `travelapp` DEFAULT CHARACTER SET utf8 ;
USE `travelapp` ;

-- -----------------------------------------------------
-- Table `travelapp`.`Address`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `travelapp`.`Address` (
  `address_id` INT NOT NULL AUTO_INCREMENT,
  `line_1` VARCHAR(45) NULL,
  `line_2` VARCHAR(45) NULL,
  `street_name` VARCHAR NOT NULL,
  `town` VARCHAR(45) NOT NULL,
  `district` VARCHAR(45) NOT NULL,
  `phone` VARCHAR(45) NULL,
  PRIMARY KEY (`address_id`))
ENGINE = InnoDB;

这是我遇到的错误

MySQL said: Documentation

#1064 - 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 'NOT NULL,
  `town` VARCHAR(45) NOT NULL,
  `district` VARCHAR(45) NOT NULL,
  `p' at line 8 

【问题讨论】:

    标签: mysql phpmyadmin mysql-workbench


    【解决方案1】:

    你需要指定长度:

    `street_name` VARCHAR NOT NULL,
    

    在上面的代码中。 使用这个:

    `street_name` VARCHAR(10) NOT NULL,
                          ^^^ give the length
    

    错误就在这里。

    【讨论】:

    • 哦,是的,这就是问题所在,我认为导出设置一定有问题 D: .... 谢谢!
    【解决方案2】:

    您尚未为street_name 指定varchar 字段的长度

    试试:

    CREATE TABLE `travelapp`.`address` (
      `address_id` int(11) NOT NULL AUTO_INCREMENT,
      `line_1` varchar(45) DEFAULT NULL,
      `line_2` varchar(45) DEFAULT NULL,
      `street_name` varchar(45) NOT NULL, -----> Here
      `town` varchar(45) NOT NULL,
      `district` varchar(45) NOT NULL,
      `phone` varchar(45) DEFAULT NULL,
      PRIMARY KEY (`address_id`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8
    

    CHAR 和 VARCHAR 类型的声明长度表示要存储的最大字符数。

    参考:https://dev.mysql.com/doc/refman/5.6/en/char.html

    【讨论】:

      猜你喜欢
      • 2015-12-14
      • 2014-02-01
      • 2022-01-23
      • 2014-03-04
      • 2018-01-01
      • 2021-04-11
      • 2019-02-14
      • 2021-04-13
      • 2016-12-04
      相关资源
      最近更新 更多