Ale*_*lex 6 php mysql sql sqlite pdo
我正在使用PDO并尝试使我的应用程序支持MySQL和SQLite,但在sqlite中,当我尝试导入我的数据库模式时出现此错误:
SQLSTATE[HY000]: General error: 1 near "AUTO_INCREMENT": syntax error
查询如下所示:
CREATE TABLE events (
id INT UNSIGNED NOT NULL AUTO_INCREMENT,
name VARCHAR(32) NOT NULL,
title VARCHAR(64) NOT NULL,
description LONGTEXT,
starttime DATETIME DEFAULT '0000-00-00 00:00:00',
PRIMARY KEY(id),
KEY name(name)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
Run Code Online (Sandbox Code Playgroud)
(它可以在MySQL数据库中运行.)
我不明白这里的问题是什么?两个数据库系统不应兼容吗?
AUTO_INCREMENT是特定于MySQL的.SQLite显然有类似的东西,AUTOINCREMENT.
它们应与ANSI SQL标准兼容,并且所有SQL数据库都应遵守该标准。但是,AutoIncrement不是该标准的一部分,而是某些数据库(包括MySQL)实现的一项附加功能。并非所有的数据库都提供该功能,或者可能以不同的方式或不同的语法提供该功能。
| 归档时间: |
|
| 查看次数: |
7933 次 |
| 最近记录: |