ПредишенСледващото

Първичен ключ (колона-списък) [конфликт клауза] |

UNIQUE (колона-списък) [конфликт клауза] |

За конфликт конфликт-алгоритъм

Създай Маса команда за ключовата дума "Създаване на таблица" обикновено е последвано от името на таблицата и списък с дефиниции на полета и условия. Името на маса може да бъде или идентификатор или низ. Имена, започващи с "sqlite_" са запазени за използване от страна на двигателя.

Всяко поле определение маса включва неговото име, вид, и един или повече допълнителни условия. Типът на данните за полето не ограничава подреждане на данни в тях. За повече информация, вижте Типове данни в SQLite версия 3. UNIQUE Ограничаване причинява създаването на индекса в посочените полета. Съпоставя оператор определя за сравнение функция, която ще бъде използвана за тази област. По подразбиране, вградената в двоичен.

клауза DEFAULT определя стойност по подразбиране, който се използва при поставяне на вложката. Стойността може да бъде NULL, постоянен низ или число. От версия 3.1.0, стойността по подразбиране могат да получат и специални ключови думи CURRENT_TIME, CURRENT_DATE или CURRENT_TIMESTAMP. Ако стойността е NULL, низ или число, че е поставена без никакви промени в областта, ако е оператор INSERT не е стойност за това поле. Ако CURRENT_TIME на стойност, CURRENT_DATE или CURRENT_TIMESTAMP, тогава текущата дата на UTC и / или времето се вмъква в полето. За CURRENT_TIME, HH формат: MM: SS. За CURRENT_DATE, ГГГГ-ММ-ДД. Формат за CURRENT_TIMESTAMP - "YYYY-MM-DD HH: MM: SS".

Определяне на първичен ключ обикновено просто създава уникален индекс на посочените полета. Въпреки това, ако първичния ключ в една колона е от тип цяло число, а след това тази колона ще бъде използван в рамките на Истинският ключ за B-дърво (B-Tree) маса. Това означава, че полето може да съдържа само една уникална стойност на цяло число. (С изключение на един случай, SQLite игнорира видове полеви данни и може да съхранява данни от всякакъв вид, независимо от тяхното описание.) Ако таблицата не разполага с полета с ЦЯЛО основен ключ, тогава целият ключ B-дърво (B-дърво) ще бъде създадена автоматично. Достъп до основни записи B-Tree винаги може да се получи с помощта на специални имена "ROWID", "OID" или "_ROWID_". Това е вярно, независимо от това дали ЦЯЛО първичен ключ. След ЦЯЛО основен ключ може да включва и AUTOINCREMENT ключова дума. AUTOINCREMENT дума променя начина, автоматично генериране на B-дърво. Допълнителна информация за автоматично генериране на B-Tree е достъпно отделно.

В съответствие със стандарта SQL, първичен ключ НЕ означава, NULL. За съжаление, надзор на дългогодишна, това не е така в случая на SQLite. SQLite позволява NULL стойности в колони първичен ключ. Ние можем да променим SQLite за съответствие със стандарта (и може би това ще бъде направено в бъдеще), но в същото време, SQLite е толкова широко разпространена, че ни е страх да направи грешен код, който сега е правилна, ако реши проблема. Така че сега сме решили да се даде възможност NULL колони първичен ключ. Разработчиците трябва да помним, че ние може да променя SQLite в съответствие със стандарта SQL в бъдеще, и трябва да се разработят нови програми в съответствие с него.

Ако ключовите думи "TEMP" или "временни", използвани между "Създаване" и "TABLE", а след това на масата се създават само във връзката с базата данни и се изтриват автоматично, когато го затворите. Всички индекси, създадени на временна таблица също са временни. Временни таблици и индекси се съхраняват в отделен файл, различен от главния файл на базата данни.

ако определя, а след това на масата се създава в определен базата данни. Погрешното задава едновременно и ключовата дума на ТЕЛК, освен ако не "температура". Ако името на базата данни не е уточнено, а ключовата дума TEMP не се използва таблицата се създава в текущата база данни.

CHECK ограничение се поддържа с версия 3.3.0. Преди версия 3.3.0, CHECK може да бъде определен, но не се наблюдава.

Не изрично ограничение за броя на полета или на броя на ограниченията, посочени в таблицата. Общият размер на данни в един-единствен запис е ограничен до около 1 MB във версия 2.8. Във версия 3.0, няма горна граница за размера на данни в протокола.

определение Форма маса CREATE TABLE AS създава маса от резултата от търсене. Имената на полетата в таблицата са от имена на полета в резултатите от заявката.

Точният текст на всяко искане за Създаване на таблица sqlite_master се съхранява в таблицата. Всеки път, когато отворите база данни, всички заявки се четат от таблицата за Създаване на таблица sqlite_master и използвани за генериране на вътрешен представителство на SQLite. Ако първоначалният екип е CREATE TABLE AS, а след това се създаде еквивалент създаване на таблицата, която се съхранява в sqlite_master вместо първоначалното искане. Текст Създаването на временна TABLE sqlite_temp_master съхраняват в таблица.

Ако посочите опционален НЕ СЪЩЕСТВУВА оператор и вече имате друга маса със същото име, командата не се изпълнява.

Подкрепете проекта - споделете линка, благодаря!