Closed zking2000 closed 1 month ago
-- 创建 users 表
CREATE TABLE IF NOT EXISTS users (
id INT NOT NULL AUTO_INCREMENT,
username VARCHAR(50) NOT NULL,
email VARCHAR(100) NOT NULL,
full_name VARCHAR(100) NOT NULL,
birth_date DATE,
registration_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
is_active TINYINT(1) DEFAULT 1,
PRIMARY KEY (id),
UNIQUE KEY (username),
UNIQUE KEY (email)
);
-- 插入测试数据
INSERT INTO users (username, email, full_name, birth_date) VALUES
('johndoe', 'john.doe@example.com', 'John Doe', '1990-05-15'),
('janedoe', 'jane.doe@example.com', 'Jane Doe', '1992-08-20'),
('bobsmith', 'bob.smith@example.com', 'Bob Smith', '1985-12-10'),
('alicejones', 'alice.jones@example.com', 'Alice Jones', '1988-03-25'),
('mikebrown', 'mike.brown@example.com', 'Mike Brown', '1995-07-30');
-- 验证数据
SELECT * FROM users;
-- 创建 users 表
CREATE TABLE users (
id INT NOT NULL AUTO_INCREMENT,
username VARCHAR(50) NOT NULL,
email VARCHAR(100) NOT NULL,
full_name VARCHAR(100) NOT NULL,
birth_date DATE,
registration_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
is_active TINYINT(1) DEFAULT 1,
PRIMARY KEY (id)
);
-- 添加唯一索引
ALTER TABLE users ADD UNIQUE INDEX (username);
ALTER TABLE users ADD UNIQUE INDEX (email);
-- 插入测试数据
INSERT INTO users (username, email, full_name, birth_date) VALUES
('johndoe', 'john.doe@example.com', 'John Doe', '1990-05-15');
INSERT INTO users (username, email, full_name, birth_date) VALUES
('janedoe', 'jane.doe@example.com', 'Jane Doe', '1992-08-20');
-- 验证数据
SELECT * FROM users;
这个错误是由于 AUTO_INCREMENT 关键字的语法问题引起的。在某些数据库系统中(如 MySQL),AUTO_INCREMENT 是正确的语法,但在其他系统中可能不被识别。
根据错误信息和命令提示符 "otel_db=>",看起来你可能使用的是 PostgreSQL 数据库。在 PostgreSQL 中,正确的自增语法是使用 SERIAL 类型或 GENERATED ALWAYS AS IDENTITY。
要解决这个问题,你可以将 CREATE TABLE 语句修改如下:
```sql
CREATE TABLE users (
id SERIAL PRIMARY KEY,
username VARCHAR(50) NOT NULL UNIQUE,
email VARCHAR(100) NOT NULL UNIQUE,
full_name VARCHAR(100) NOT NULL,
birth_date DATE,
registration_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
is_active SMALLINT DEFAULT 1
);
这里的主要更改是:
id INT NOT NULL AUTO_INCREMENT
改为 id SERIAL PRIMARY KEY
。如果你确实在使用支持 AUTO_INCREMENT 的数据库系统(如 MySQL),那么问题可能出在语法的其他部分。在这种情况下,请确保没有多余的逗号,并且所有的括号都正确匹配。
无论使用哪种数据库系统,仔细检查语法,确保它符合你所使用的特定数据库的要求,应该就能解决这个问题。
#!/bin/bash
# 设置要测试的用户名
USERNAME="example_user"
# 发送请求到gateway API
RESPONSE=$(curl -s "http://localhost:5000/gateway?username=${USERNAME}")
# 输出返回的结果
echo "Response from gateway API:"
echo "${RESPONSE}"