SQL的新手。无法创建表并插入值
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL的新手。无法创建表并插入值相关的知识,希望对你有一定的参考价值。
如标题所述,我无法获得看似有效的SQL代码来创建表和插入值。我一直从mysql工作台获取有关CREATE TABLE STATEMENT的语法错误,但是我不确定是否确实存在任何语法错误。我的文件中缺少语法之外的任何内容吗?
CREATE TABLE EMP_1
(
emp_num CHAR(3),
emp_lname VARCHAR(15) not null,
emp_fname VARCHAR(15) not null,
emp_initial CHAR(1),
emp_hiredate DATE,
job_code char(3),
);
INSERT INTO EMP_1 (emp_lname, emp_fname, emp_initial,
emp_hiredate, job_code)
VALUES
(101,"News","John","G","08-Nov-00",502),
(102,"Senior","David","H","12-Jul-89",501),
(103,"Arbough","June","E","01-Dec-96",500),
(104,"Ramoras","Anne","K","15-Nov-87",501),
(105,"Johnson","Alice","K","01-Feb-93",502),
(106,"Smithfield","William","","22-Jun-04",500),
(107,"Alonzo","Maria","D","10-Oct-93",500),
(108,"Washington","Ralph","B","22-Aug-91",501),
(109,"Smith","Larry","W","18-Jul-97",501);
答案
有几个问题。
- 您在最后一列定义之后加了一个逗号。
create table
失败。 - 您正在使用双引号而不是单引号。这不是致命的错误,只是一种不好的做法,因为SQL标准是单引号。
- 您的日期应采用规范格式YYYY-MM-DD,而不要使用字符串。那是
'2000-11-08'
而不是'08-Nov-00'
。 - 您为插入指定了六列,但仅为其提供了五列的值。
- 您还有其他类型问题,混淆了字符串和数字。这些将通过隐式转换来解决,但这通常是一个坏主意。
这是代码的外观:
INSERT INTO EMP_1 (emp_num, emp_lname, emp_fname, emp_initial,
emp_hiredate, job_code)
VALUES ('101', 'News', 'John', 'G', '2000-11-08', '502');
[Here是db <>小提琴。
以上是关于SQL的新手。无法创建表并插入值的主要内容,如果未能解决你的问题,请参考以下文章