簡體   English   中英

SQLite 錯誤 1: 'near “)”: 語法錯誤'.'

[英]SQLite Error 1: 'near “)”: syntax error'.'

我正在為學校制作一個項目,但我在 SQL 中遇到了這個語法錯誤(我正在使用 SQLite)。

此行的目標是創建一個包含Sandwich_IDBread_IDSandwich_price列的空表。 Sandwich_ID為主鍵, Bread_IDBread表中指定。

CREATE TABLE IF NOT EXISTS Sandwiches 
(
     Sandwich_ID INT, 
     Bread_ID INT, 
     Sandwich_price FLOAT, 
     PRIMARY KEY (Sandwich_ID), 
     FOREIGN KEY (Bread_ID)
);

錯誤信息:

Microsoft.Data.Sqlite.SqliteException: 'SQLite Error 1: 'near ")": 語法錯誤'。

我也試過十進制而不是浮點數,但仍然有錯誤。

編輯:現在我正在使用參考

CREATE TABLE IF NOT EXISTS Breads 
(
    Bread_ID INT, 
    Bread_name VARCHAR(40), 
    Bread_price FLOAT, 
    PRIMARY KEY (Bread_ID)
);

CREATE TABLE IF NOT EXISTS Sandwiches 
(
    Sandwich_ID INT, 
    Bread_ID INT, 
    Sandwich_price FLOAT, 
    PRIMARY KEY (Sandwich_ID), 
    FOREIGN KEY (Bread_ID) REFERENCES Breads(Bread_ID)
);

我仍然有語法錯誤。

外鍵需要指向某些東西。 例如,在這里似乎您應該有一個“面包”表或類似的東西:

CREATE TABLE IF NOT EXISTS Sandwiches (
    Sandwich_ID int,
    Bread_ID int, 
    Sandwich_price float, 
    PRIMARY KEY (Sandwich_ID), 
    FOREIGN KEY (Bread_ID) REFERENCES Breads(Bread_IS)
    -- Here ---------------^
)

存儲在 SQLite 數據庫中(或由數據庫引擎操作)的每個值都具有以下存儲類之一:

空。 該值為 NULL 值。

整數。 該值是一個有符號整數,根據值的大小存儲在 1、2、3、4、6 或 8 個字節中。

真的。 該值是一個浮點值,存儲為一個 8 字節的 IEEE 浮點數。

文本。 該值是一個文本字符串,使用數據庫編碼(UTF-8、UTF-16BE 或 UTF-16LE)存儲。

斑點。 該值是一組數據,完全按照輸入的方式存儲。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM