标签: create-table

MySQL我的外键有什么问题吗?

我用注释标记的两个外键有什么问题?

创建数据库db; 使用db;

create table Flug(
Flugbez varchar(20),
FDatum Date,
Ziel varchar(20),
Flugzeit int,
Entfernung int,
Primary Key(Flugbez,FDatum));

create table Flugzeugtyp(
Typ varchar(20),
Hersteller varchar(20),
SitzAnzahl int,
Reisegeschw int,
primary key(Typ)
);

create table flugzeug(
Typ varchar(20),
SerienNr int,
AnschDatum Date,
FlugStd int,
primary key(Typ,SerienNr),
foreign key(Typ)references Flugzeugtyp(Typ));

create table Abflug(
Flugbez varchar(20),
FDatum Date,
Typ varchar(20),
Seriennr int,
Kaptaen varchar(20),
Primary key(Flugbez,FDatum,Typ,SerienNr),
Foreign key(Flugbez)references Flug(Flugbez) ,
- 外键(FDatum)引用Flug(FDatum),
外键(Typ)引用Flugzeugtyp(Typ)
- ,外键(SerienNr)引用Flugzeug(SerienNr)
);

当我取消注释这些时,我得到:

ERROR 1005(HY000):无法创建表'db.abflug'(错误号:150)

我使用MySQL Server 5.5的标准安装

mysql sql foreign-keys create-table

1
推荐指数
1
解决办法
166
查看次数

.NET库,用于以编程方式生成SQL对象

我正在寻找一个.NET库,用于以编程方式生成针对SQL 2008数据库的表,存储过程,视图和关系.除了原始的ADO.NET,我还有什么选择?

.net sql ado.net create-table sql-server-2008

1
推荐指数
1
解决办法
181
查看次数

临时表与创建和删除表

我正在创建一个表"InterviewTemp",在那里插入数据,用该数据更新第二个表,然后删除"InterviewTemp"表.

有一个例子:

CREATE TABLE [entrevistasTemp](
    [id_usuario] [int] NULL,
    [id_entrevista] [int] NULL,
    [comentarios] [varchar](300) NULL
)

INSERT [entrevistasTemp] ([id_usuario], [id_entrevista], [comentarios]) VALUES (12099, 4515, CONVERT(TEXT, N'Riesgo muy alto.  Marun Victoria, '))
INSERT [entrevistasTemp] ([id_usuario], [id_entrevista], [comentarios]) VALUES (15347, 4516, CONVERT(TEXT, N'Riesgo muy alto.  Marun Victoria, '))

UPDATE entrevistas 
    set entrevistas.comentarios = entrevistasTemp.comentarios 
    from entrevistasTemp
WHERE entrevistas.id = entrevistasTemp.id_entrevista

drop table entrevistasTemp
Run Code Online (Sandbox Code Playgroud)

还有更好的方法吗?

编辑:只插入4.5k行

sql-server create-table sql-drop

1
推荐指数
1
解决办法
3745
查看次数

SQL Server:使用多列外键创建表

我必须在SQL Server中创建一组表.

那些是:

  • chips,用于识别要植入动物的芯片
  • signals,因为每个芯片每小时产生一次信号
  • signal receivers,如果芯片在半径范围内,可以接收信号的电台
  • signal receivings,对于接收器已接收的信号

我在创建这些表时遇到问题.

这是我的代码:

CREATE TABLE CHIPS (
    ID INT PRIMARY KEY,
    ...(not related attributes)...
    );

CREATE TABLE RECEIVERS (
    ID_receiver INT PRIMARY KEY,
    ...(some other attributes, not related to the problem)...
    );

CREATE TABLE SIGNALS (
    ID_chip INT FOREIGN KEY REFERENCES CHIPS, 
    Signal_no INT, 
    Date DATETIME, 
    PRIMARY KEY (ID_chip, Signal_no)
    );

CREATE TABLE SIGNAL_RECEIVINGS (
    ID_receiver INT REFERENCES RECEIVERS ,
    Id_chip INT REFERENCES SIGNALS(ID_chip), 
    Signal_no INT REFERENCES SIGNALS(Signal_no), …
Run Code Online (Sandbox Code Playgroud)

sql sql-server foreign-keys create-table multiple-columns

1
推荐指数
1
解决办法
3万
查看次数

SQL Server - 创建表脚本不起作用

试图在SQL Server Management Studio中向我的数据库添加一个表,但它正在摇摆不定.我确信它真的很简单,但我的大脑已经变得糊里糊涂,我找不到问题.基本上它告诉我数据库已经存在,但它显然没有.

错误(S):

消息3701,级别11,状态5,行2
不能删除表'MySchema.mix_Case_Study-Module',因为它不存在或您没有权限.

消息2714,级别16,状态5,行4
数据库中已存在名为"mix_Case_Study-Module"的对象.

消息1750,级别16,状态0,行4
无法创建约束.查看以前的错误.

消息4902,级别16,状态1,行2
无法找到对象"MySchema.mix_Case_Study-Module",因为它不存在或您没有权限.

SQL:

USE [MyDB]
GO

SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

DROP TABLE [MySchema].[mix_Case_Study-Module]

CREATE TABLE [MySchema].[mix_Case_Study-Module](
    [ID] [int] IDENTITY(1,1) NOT NULL,
    [Active] [bit] NOT NULL,
    [Case Study ID] [int] NOT NULL,
    [Module ID] [int] NOT NULL,
    [Position] [int] NOT NULL,
    CONSTRAINT [mix_Case_Study-Module] PRIMARY KEY CLUSTERED (
        [ID] ASC
    ) WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, …
Run Code Online (Sandbox Code Playgroud)

t-sql sql-server ssms create-table

1
推荐指数
1
解决办法
1198
查看次数

为什么我不能在MS SQL中指定列宽?

例如:

CREATE TABLE Station
(StationCode    CHAR(10) NOT NULL,      
StationName CHAR(20)        NOT NULL,
Distance    int(5)      NOT NULL,
CONSTRAINT PKStation    PRIMARY KEY (StationCode)   )
Run Code Online (Sandbox Code Playgroud)

它返回错误:

消息2716,级别16,状态1,行1
列,参数或变量#3:无法在数据类型int上指定列宽.

在我的大学教科书中,如果有人可以回答,该示例能够为INTEGER TQVM指定列宽

sql-server create-table

1
推荐指数
1
解决办法
3709
查看次数

SQL - 从Select +用户定义的列和值创建表

目前我有以下SELECT语句:

CREATE TABLE  TEST AS
SELECT ROW_ID,
            PROM_INTEG_ID,
            INTEGRATION_ID,
            BILL_ACCNT_ID,
            SERV_ACCT_ID,
            CFG_STATE_CD   
FROM PRODUCTS
WHERE PROD_ID = 'TestProduct'
AND STATUS_CD = 'Active';
Run Code Online (Sandbox Code Playgroud)

但是,我必须添加一些在PRODUCTS表中不存在的其他列,并使用我自己的名称定义它们.eg HIERARCHY

我尝试在我的SQL查询中使用WITH操作数但由于语法错误而一直失败.

    CREATE TABLE  TEST AS
SELECT ROW_ID,
            PROM_INTEG_ID,
            INTEGRATION_ID,
            BILL_ACCNT_ID,
            SERV_ACCT_ID,
            CFG_STATE_CD   
            WITH
                  PRODUCT_HEIRARCHY varchar2(30)  'Test123Value'
FROM PRODUCT
WHERE PROD_ID = 'TestProduct'
AND STATUS_CD = 'Active';
Run Code Online (Sandbox Code Playgroud)

总而言之,我想从现有表中提取列以及定义自己的列.

任何帮助赞赏

sql oracle create-table

1
推荐指数
1
解决办法
9650
查看次数

在数据库中创建TABLE时出错

我正在使用oracle 10g ex来学习,所以这里是我的代码

CREATE TABLE MINE 
(
    NAME VARCHAR(10),
    ID INT(3) PRIMARY KEY 
);
Run Code Online (Sandbox Code Playgroud)

而我的错误是

ORA-00907:缺少右括号.

但我没有错过正确的括号.要解决这个问题,我还有其他任何机会或事情要知道.

sql oracle ddl syntax-error create-table

1
推荐指数
1
解决办法
424
查看次数

Golang准备了"CREATE TABLE"的陈述

我发现create table语句没有识别我要插入的通配符.我怎样才能在golang中使用预先准备好的语句?

                    stmt, err := tx.Prepare(`
                    CREATE TABLE table_number_$1 (
                            guid character varying(64) NOT NULL,
                            number integer,
                            name character varying(64),
                            PRIMARY KEY (guid),
                            CONSTRAINT some_onstraint
                            CHECK ((number = $2))
                    )`)
                    if err != nil {
                            return err 
                    }   
                    defer stmt.Close()
                    if _, err := stmt.Exec(
                            string(table_number),
                            table_number; err != nil {
                            tx.Rollback()
                            return err 
                    }  
Run Code Online (Sandbox Code Playgroud)

我打印出来的错误是: sql: expected 0 arguments, got 2

编辑:显然我知道我可以像平常一样构建字符串,但是想知道是否有内置方式.

postgresql prepared-statement create-table go

1
推荐指数
1
解决办法
1268
查看次数

我尝试创建有序SQL表时出错

我正在尝试使用ORDER BY在SQL中创建一个volatile表,我收到一个错误.

CREATE VOLATILE TABLE orderd_dates AS
(SELECT * FROM date_table
ORDER BY id_date)
with data primary index (id_date) on commit preserve rows;
Run Code Online (Sandbox Code Playgroud)

错误是:子查询中不允许ORDER BY.

如果我不能使用order by,如何创建一个有序的易失性表?

sql subquery sql-order-by create-table teradata

1
推荐指数
1
解决办法
199
查看次数