mysql - 从 MySQL 到 MS SQL Server 的 SQL 查询错误

标签 mysql sql-server

当我将以下 SQL 查询从 MySQL 导入到 MS SQL Server 时,出现警告“表级约束未指定列列表,表‘标记’。” 有谁能帮我解决这个问题吗?

以下是整个查询的一部分。(它是由 MySQL Workbench 生成的

CREATE TABLE Mark (
  student_id INT NOT NULL,
  exam_id INT NOT NULL,
  subject_id INT NOT NULL,
  mark VARCHAR(2) NULL,
  INDEX Student_id_idx ON Mark(student_id),
  INDEX Subject_id_idx ON Mark(subject_id),
  INDEX Exam_id_idx ON Mark(exam_id),
  CONSTRAINT exam_id
    FOREIGN KEY (exam_id)
    REFERENCES Exam (exam_id)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT student_id
    FOREIGN KEY (student_id)
    REFERENCES Student (student_id)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT subject_id
    FOREIGN KEY (subject_id)
    REFERENCES Subject (subject_id)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION)

最佳答案

试试这个:

CREATE TABLE [dbo].[Mark] (
  [student_id] [int] NOT NULL,
  [exam_id] [int] NOT NULL,
  [subject_id] [int] NOT NULL,
  [mark] [varchar](2) NULL,

  FOREIGN KEY ([Exam_id]) REFERENCES [Exam]([Exam_id]),
  FOREIGN KEY ([Student_Id]) REFERENCES [Student]([Student_Id])
  FOREIGN KEY ([subject_id]) REFERENCES [Subject]([subject_id])
) ON [PRIMARY]
GO

关于mysql - 从 MySQL 到 MS SQL Server 的 SQL 查询错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29198558/

相关文章:

mysql - 将字符串与多个表mysql中的同一列进行比较

php - mysql_num_rows 如果计数大于 1

sql-server - Visual Studio 代码映射 : Unable to connect to the specified database

sql-server - 使用 tablediff 实用程序仅获取源数据和不匹配数据

php - 是否可以使用 woocommerce 将数据保存到两个数据库?

mysql - 从文本字符串中提取数字

php - 将 openssl 控制台命令转换为 PHP

sql-server - 更改数据库排序规则不会更新数据库中 varchar/text 字段的排序规则 (MS SQL)

sql - 将数据转换为多列

mysql - 设置 Rails 以查找 LIBMYSQL.dll 的默认位置