这个简单的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