gpt4 book ai didi

MySQL工作台同步: error in CREATE TABLE IF NOT EXISTS `mydb` .`timestamps` (

转载 作者:行者123 更新时间:2023-11-29 20:02:08 25 4
gpt4 key购买 nike

我是 MySQL 新手。我尝试使用 MySQL Workbench 在新模式中创建一些表。我尝试“将模型与数据库同步”,但完成时出现错误。由于某种原因,MySQL Workbench 自动生成的 SQL 包括 CREATE TABLE IF NOT EXISTS mydb.timestamps..... 这似乎是问题所在。我能找到的最相关的东西是在 Workbench 的模式 GUI 编辑器中,它的右侧有一个名为“建模操作”的 Pane ,其中有一个名为“时间戳”的默认模板。我没有在我的简单测试项目中使用它。

我使用的是 MySQL 5.7.16 Win64。MySQL 工作台:6.3.7(内部版本 1199CE)

我确实意识到这与将空值放入非空字段有关,但是,如果该表/字段不属于我的表的一部分,那么首先如何创建该表/字段?

有人可以引导我走向正确的方向吗?我是 Access 的新手,这个系统非常不同。我无法使架构设计与 MySQL 同步。

*****************************************************************************
* MySQL Workbench auto-generated SQL - it is being made during Synchronize...
*****************************************************************************

-- MySQL Workbench Synchronization
-- Generated: 2016-11-08 06:30
-- Model: New Model
-- Version: 1.0
-- Project: Name of the project
-- Author: Turtle

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='TRADITIONAL,ALLOW_INVALID_DATES';

CREATE TABLE IF NOT EXISTS `mydb`.`timestamps` (
`create_time` NULL DEFAULT CURRENT_TIMESTAMP,
`update_time` NULL)
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8;

CREATE TABLE IF NOT EXISTS `mydb`.`tblWorkLog` (
`UserName` VARCHAR(50) NOT NULL,
`tblUsers_UserName` VARCHAR(50) NOT NULL,
PRIMARY KEY (`UserName`),
INDEX `fk_tblWorkLog_tblUsers_idx` (`tblUsers_UserName` ASC),
CONSTRAINT `fk_tblWorkLog_tblUsers`
FOREIGN KEY (`tblUsers_UserName`)
REFERENCES `mydb`.`tblUsers` (`UserName`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8;

CREATE TABLE IF NOT EXISTS `mydb`.`tblUsers` (
`UserName` VARCHAR(50) NOT NULL,
`fName` VARCHAR(50) NULL DEFAULT NULL,
`mName` VARCHAR(50) NULL DEFAULT NULL,
`lName` VARCHAR(50) NULL DEFAULT NULL,
`tblUserscol` VARCHAR(45) NULL DEFAULT NULL,
`email` VARCHAR(255) NULL DEFAULT NULL,
`tblWorkLog_UserName` INT(11) NOT NULL,
PRIMARY KEY (`UserName`))
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8;

CREATE TABLE IF NOT EXISTS `mydb`.`tblJobCodes` (
`JobCode` VARCHAR(50) NOT NULL,
`ShortName` VARCHAR(100) NULL DEFAULT NULL,
`LongName` VARCHAR(255) NULL DEFAULT NULL,
`Description` VARCHAR(4000) NULL DEFAULT NULL,
PRIMARY KEY (`JobCode`))
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8;

CREATE TABLE IF NOT EXISTS `mydb`.`tblRoles` (
`RoleID` VARCHAR(25) NOT NULL,
`Description` VARCHAR(255) NULL DEFAULT NULL,
PRIMARY KEY (`RoleID`))
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8;


SET SQL_MODE=@OLD_SQL_MODE;
SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;
SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS;

--

*****************************************************************************
* Error message from MySQL Workbench
*****************************************************************************

Executing SQL script in server
ERROR: Error 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 'NULL DEFAULT CURRENT_TIMESTAMP,
`update_time` NULL)
ENGINE = InnoDB
DEFAULT C' at line 2
SQL Code:
CREATE TABLE IF NOT EXISTS `mydb`.`timestamps` (
`create_time` NULL DEFAULT CURRENT_TIMESTAMP,
`update_time` NULL)
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8
SQL script execution finished: statements: 3 succeeded, 1 failed
Fetching back view definitions in final form.
Nothing to fetch

最佳答案

尝试每次创建一张表。

但我相信问题是您将 NULLdefault 一起使用

检查这个 examples

应该是:

 CREATE TABLE IF NOT EXISTS `mydb`.`timestamps` (
`create_time` DEFAULT CURRENT_TIMESTAMP,
`update_time`)
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8;

关于MySQL工作台同步: error in CREATE TABLE IF NOT EXISTS `mydb` .`timestamps` (,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40488113/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com