gpt4 book ai didi

php - 使用索引创建表时出现 SQLite 错误

转载 作者:行者123 更新时间:2023-11-29 04:07:00 25 4
gpt4 key购买 nike

我正在尝试使用具有索引的 PHP 创建 SQLite3 数据库。

There is an example on dev.mysql这使得索引如下所示。

$db = new SQLite3(':memory:');

$db->exec("CREATE TABLE sales (
kitchen_name VARCHAR(255) NOT NULL,
amount_name VARCHAR(255),
amount NUMERIC(15,2),
name_key VARCHAR(255) NOT NULL,
flag_total TINYINT(1),
INDEX kitchen_value_key (kitchen_name,name_key)
);");

我在 online parser 中运行查询并且它作为有效的 MySQL 回来了。

但我一直收到错误:

SQLite3::exec(): "INDEX"附近: 语法错误

我做错了什么?

最佳答案

这确实是有效的 MySQL 语法,但您使用的不是 MySQL,而是 SQLite,它是一个不同的 RDBMS。

SQLite 只是不支持在表定义中内联索引定义的语法,因此您必须求助于使用两个单独的语句:

CREATE TABLE sales (
kitchen_name VARCHAR(255) NOT NULL,
amount_name VARCHAR(255),
amount NUMERIC(15,2),
name_key VARCHAR(255) NOT NULL,
flag_total TINYINT(1)
);

CREATE INDEX kitchen_value_key ON sales(kitchen_name,name_key);

SQLFiddle

关于php - 使用索引创建表时出现 SQLite 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31182244/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com