SQLite 创建表查询不会创建表



这个简单的sqlite查询:

CREATE TABLE customers 
(
id INT(255) NOT NULL AUTO_INCREMENT, 
name VARCHAR(255),  
email VARCHAR(255),  
password VARCHAR(255), 
PRIMARY KEY (id)
);

不工作。

这是表定义的正确语法:

CREATE TABLE customers ( 
id INTEGER PRIMARY KEY AUTOINCREMENT 
name TEXT,  
email TEXT,  
password TEXT
);

当列的数据类型不是INTEGER并且列不是表的PRIMARY KEY时,SQLite 不支持AUTOINCREMENT
此外,SQLite 中没有int(255)VARCHAR数据类型(尽管您可以在CREATE TABLE语句中使用它)。使用TEXT而不是VARCHAR

请参阅演示。

SQL lite 不支持 cahrchar 或 auto increment(至少没有 rowid

请参阅手册

CREATE TABLE t(id INTEGER PRIMARY KEY ASC, name TEXT , email TEXT ,  password TEXT);
INSERT INTO t (name,email, password) VALUES ('abc','bcd','efg')
INSERT INTO t (name,email, password) VALUES ('abc2','bcd2','efg2')
SELECT * FROM t; 
ID | 姓名 | 电子邮件 | 密码 -: |:--- |:---- |:-------  1 |美国广播公司 |BCD |盈丰银行      2 |ABC2 |BCD2 |efg2

db<>fiddle here

最新更新