我刚刚开始学习SQL并且遇到了第一道障碍,我无法创建一个表.下面是代码示例.我在运行语句时收到的错误,引用第7行,说明"关系运算符"存在问题.第7行的目的是检查该人的年龄是否大于18岁.
我正在使用Oracle(不确定这是否会有所作为).我希望有人能指出我正确的方向.
1. CREATE TABLE employee
2. (
3. empID VARCHAR2(20) NOT NULL primary key,
4. surname VARCHAR2(15) NOT NULL CHECK(surname=UPPER(surname)),
5. deptCode CHAR(5) NOT NULL CHECK(deptCode=UPPER(deptCode)),
6. empYear NUMBER(1,0) NOT NULL CHECK(empYear >= 1 AND empYear <= 4),
7. birthDate DATE NOT NULL CHECK((SYSDATE - birthDate) /365 ) >= 18
8. );
Run Code Online (Sandbox Code Playgroud)
谢谢.
我可以在mysql客户端中创建一个具有旧表自动注册状态的新表吗?
我认为,这ALTER TABLE new_table_name AUTO_INCREMENT=@my_autoincr_iment有助于我,但这种结构必须使用恒定的价值.我不想使用困难的脚本.
SQL Server中是否有一种方法可以创建一个主键自动递增的表?我一直在看"UniqueIdentifier"类型,但这似乎没有达到我的预期.
目前,我有这样的事情:
CREATE TABLE [dbo].[MyTable](
[Date] [datetime] NOT NULL,
[MyField1] [nchar](50) NOT NULL,
[MyField2] [nvarchar](max) NULL,
[Key] [uniqueidentifier] NOT NULL
) ON [PRIMARY]
Run Code Online (Sandbox Code Playgroud)
基本上,我希望KEY从1开始,并为每条记录增加自己.
primary-key uniqueidentifier create-table sql-server-express
我想允许一些用户在特定模式中创建表,但不能在其他模式中创建表.我怎样才能做到这一点?
我看到CREATE TABLE帮助说
需要数据库中的CREATE TABLE权限以及要在其中创建表的模式的ALTER权限.
这是否意味着我可以为架构授予ALTER权限并限制所有其他架构的ALTER权限?
CREATE TABLE IF NOT EXISTS fw_users (id INT(64) NOT NULL PRIMARY KEY AUTOINCREMENT, auth CHAR(64) UNIQUE, money INT(32) DEFAULT '0', unlocks VARCHAR(8000))
Run Code Online (Sandbox Code Playgroud)
我看不到任何错误,但SQLite抛出错误:
Query failed! AUTOINCREMENT is only allowed on an INTEGER PRIMARY KEY
Run Code Online (Sandbox Code Playgroud)
它没有意义,id是一个整数
我很抱歉,如果这太容易了,但我很累,似乎无法解决这个问题.任何人都可以看到这个命令有什么问题吗?
create table Users (
user_id NUMBER(4) PRIMARY KEY ,
username VARCHAR2(16) NOT NULL,
password VARCHAR2(16) NOT NULL,
first_name VARCHAR2(20) NOT NULL,
last_name VARCHAR2(20) NUT NULL,
);
Run Code Online (Sandbox Code Playgroud)
编辑:谢谢大家.问题解决了.这是最后一个逗号和NUT:P
当hinernate尝试将此类映射到MySQL数据库时
/*
*To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package projekat.entities;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
import javax.persistence.*;
import org.apache.tapestry5.beaneditor.NonVisual;
/**
*
* @author nikola
*/
@Entity
public class Student implements Serializable {
@Id
@NonVisual
@GeneratedValue(strategy = GenerationType.AUTO)
@Basic(optional = false)
private Long kljuc;
@Basic(optional = false)
private String ime;
@Basic(optional = false)
private String prezime;
@Basic(optional = false)
private Integer index;
@ManyToMany
private List<Grupa> grupaList = …Run Code Online (Sandbox Code Playgroud) 我想尝试做类似的事情
CREATE TEMP TABLE tblname AS (
INSERT INTO tbl2 FROM SELECT(1,1) RETURNING a,b
);
Run Code Online (Sandbox Code Playgroud)
但我有错误:语法错误在"INSERT"或附近;
是否可以组合CREATE TABLE AS SELECT和INSERT FROM SELECT RETURNING子句?
我扩展了默认迁移,为我的用户表包含了一些额外的表字段.
我希望拥有created_at和作为价值观的updated_at领域timestamps.
这是我的代码
<?php
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class CreateUsersTable extends Migration {
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('users', function(Blueprint $table)
{
$table->bigIncrements('id');
$table->bigInteger('group_id');
$table->string('fname',255);
$table->string('lname',255);
$table->string('email',255)->unique();
$table->string('password', 60);
$table->boolean('active');
$table->string('gravtar',255)->nullable();
$table->rememberToken();
$table->timestamps('created_at');
$table->timestamps('updated_at');
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::drop('users');
}
}
Run Code Online (Sandbox Code Playgroud)
障碍是使用两个时间戳列不迁移表并抛出此异常
[PDOException]
SQLSTATE[42S21]: Column already exists: 1060 Duplicate column name 'created_at'
Run Code Online (Sandbox Code Playgroud)
看,我只有一个名称列 …
我有多个定界的文本文件(例如.csv文件),每个文件包含列,行和标题。
我想尽可能轻松地将所有这些输入文件导入SQL Server。具体而言,我想创建输出表到一个我将导入这些文件上飞。
这些输入文件中的某些将需要导入到一个相同的输出表中,而其他输入文件将需要导入到不同的表中。您可以假定将要导入到同一表中的所有文件都具有相同的头。
SQL Server Management Studio有一个导入向导,使用该向导可以导入定界的文本文件(和其他格式)并自动创建输出表。但是,这不允许您同时导入多个文件。此外,它需要大量的手工工作并且不可复制。
人们可以在线找到许多脚本,这些脚本可以将多个文本文件导入到一个表中。但是,其中大多数要求首先创建输出表。这也需要每张桌子额外的工作。
有没有办法列出所有相关的输入文件及其对应的输出表,以便在导入数据后自动创建表?
create-table ×10
mysql ×3
sql ×3
sql-server ×2
csv ×1
database ×1
hibernate ×1
import ×1
keyword ×1
laravel-5 ×1
oracle ×1
php ×1
plpgsql ×1
postgresql ×1
primary-key ×1
sql-like ×1
sqlite ×1
syntax-error ×1