CREATE TABLE emp ( id INT PRIMARY KEY, --员工姓名,非空且唯一 ename VARCHAR(50) NOT NULL UNIQUE, --员工姓名,非空并唯一 joindate DATE NOT NULL, --入职日期,非空 salary DOUBLE(7,2) NOT NULL, --工资,非空 bonus DOUBLE(7,2) DEFAULT 0 --奖金,如果没有记为零 );错哪了
时间: 2023-12-12 08:03:11 浏览: 92
在上述 SQL 语句中,DOUBLE 数据类型应该写成 DECIMAL,因为 DOUBLE 类型有精度问题。同时,如果你想要设置 bonus 的默认值为 0,应该将 DEFAULT 0 改为 DEFAULT '0'。
因此,正确的 SQL 语句如下:
```
CREATE TABLE emp (
id INT PRIMARY KEY, --员工 ID,非空且唯一
ename VARCHAR(50) NOT NULL UNIQUE, --员工姓名,非空并唯一
joindate DATE NOT NULL, --入职日期,非空
salary DECIMAL(7,2) NOT NULL, --工资,非空
bonus DECIMAL(7,2) DEFAULT '0' --奖金,如果没有记为零
);
```
相关问题
CREATE TABLE emp ( id INT PRIMARY KEY,--员工姓名,非空且唯一 ename VARCHAR(50) NOT NULL UNIQUE, --员工姓名,非空并唯一 joindate DATE NOT NULL,--入职日期,非空 salary DOUBLE(7,2) NOT NULL,--工资,非空 bonus DOUBLE(7,2) DEFAULT 0--奖金,如果没有记为零 ) > 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 '--员工姓名,非空且唯一 ename VARCHAR(50) NOT NULL UNIQUE, --员工姓' at line 2怎么解决
在创建表 `emp` 的语句中,注释应该使用 `/* */` 或 `--`,而不是 `>`。修改语句如下:
```
CREATE TABLE emp (
id INT PRIMARY KEY, --员工姓名,非空且唯一
ename VARCHAR(50) NOT NULL UNIQUE, --员工姓名,非空并唯一
joindate DATE NOT NULL, --入职日期,非空
salary DOUBLE(7,2) NOT NULL, --工资,非空
bonus DOUBLE(7,2) DEFAULT 0 --奖金,如果没有记为零
);
```
这样就可以成功创建表 `emp` 了。
对于postgresql的语法,下面这段代码的全部语法错误在哪里?create table emp ( id serial primary key username varchar(20) not null unique, password varchar(32) default '123456', name varchar(10) not null, gender tinyint unsigned not null , image varchar(300), job tinyint unsigned, entrydate date, dept_id int unsigned, create_time datetime not null, update_time datetime not null );
这段代码中有一个语法错误,即在第一列的定义中缺少了一个逗号(,)。应该在 "id serial primary key" 后面添加逗号。正确的代码如下:
```
create table emp (
id serial primary key,
username varchar(20) not null unique,
password varchar(32) default '123456',
name varchar(10) not null,
gender tinyint unsigned not null,
image varchar(300),
job tinyint unsigned,
entrydate date,
dept_id int unsigned,
create_time datetime not null,
update_time datetime not null
);
```
阅读全文