Я принимаю создание выписки запросов из SQLite, как это:SQLite автоинкремент регулярного выражение
CREATE TABLE [users] ([id] INTEGER PRIMARY KEY AUTOINCREMENT, [username] VARCHAR, [password] VARCHAR, [default_project] VARCHAR)
созданных с помощью
SELECT sql FROM sqlite_master WHERE type = 'table' AND name = :table
и определения поля автоинкрементного с регулярным выражением, как это:
/\b\[?id\]?\s+INTEGER\s+PRIMARY\s+KEY\s+AUTOINCREMENT\b/Ui
проблема заключается в том, что существуют различные приемлемые способы записи таких ключевых слов, как "id"
, `id`
, 'id'
. Показанный здесь http://www.sqlite.org/lang_keywords.html
Я хотел создать регулярное выражение, которое будет явно проверять наличие этих различных вариаций ... с некоторой помощью другого я получил это:
$pattern = "/\b\"(id)|(\"id\")|(\[id\])|(`id`)|('id')\"\s+INTEGER\s+PRIMARY\s+KEY\s+AUTOINCREMENT\b/Ui";
однако есть пара проблем с это ... одно из того, что INTEGER PRIMARY KEY AUTOINCREMENT
больше не проверено на ... и что ('id')
не соответствует должным образом ... однако, если бы я должен был заменить его на ("id")
... чем он будет работать, и ("id")
wouldn «т.