嘗試執行此 SQL 代碼時出現“應使用逗號或右括號”錯誤:
CREATE TABLE `player_vehicles` (
`#` int(11) NOT NULL,
`steam` varchar(50) DEFAULT NULL,
`citizenid` varchar(50) DEFAULT NULL,
`vehicle` varchar(50) DEFAULT NULL,
`hash` varchar(50) DEFAULT NULL,
`mods` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL,
`plate` varchar(50) NOT NULL,
`fakeplate` varchar(50) DEFAULT NULL,
`garage` varchar(50) DEFAULT NULL,
`fuel` int(11) DEFAULT 100,
`engine` float DEFAULT 1000,
`body` float DEFAULT 1000,
`state` int(11) DEFAULT 1,
`depotprice` int(11) NOT NULL DEFAULT 0,
`drivingdistance` int(50) DEFAULT NULL,
`status` text DEFAULT NULL,
`health` longtext NOT NULL '[{"value":100,"part":"electronics"},{"value":100,"part":"fuelinjector"},{"value":100,"part":"brakes"},
{"value":100,"part":"radiator"},{"value":100,"part":"driveshaft"},{"value":100,"part":"transmission"},{"value":100,"part":"clutch"}]'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
錯誤資訊:
A comma or a closing bracket was expected. (near "'[{"value":100,"part":"electronics"},{"value":100,"part":"fuelinjector"},{"value":100,"part":"brakes"},{"value":100,"part":"radiator"},{"value":100,"part":"driveshaft"},{"value":100,"part":"transmission"},{"value":100,"part":"clutch"}]'" at position 816)
有人可以幫忙嗎,我想不通?
uj5u.com熱心網友回復:
似乎您想使用字串作為長文本列的默認值,但您缺少DEFAULT關鍵字。
但無論如何它都行不通。 https://dev.mysql.com/doc/refman/8.0/en/blob.html說:
BLOB 和 TEXT 列不能有 DEFAULT 值。
如果我將DEFAULT關鍵字添加到您的示例中,并在 MySQL 客戶端中嘗試,我會收到此錯誤:
錯誤 1101 (42000):BLOB、TEXT、GEOMETRY 或 JSON 列“健康”不能有默認值
MariaDB 是 MySQL 的一個分支,在 MariaDB 10.2.1 中添加了將 DEFAULT 值添加到 BLOB 或 TEXT 列的功能,但 MySQL 不支持此功能。
uj5u.com熱心網友回復:
如果您需要為 LONGTEXT 列分配一些默認值,請使用 BEFORE INSERT 觸發器。
CREATE TABLE test (id INT, txt LONGTEXT NOT NULL); CREATE TRIGGER tr_bi_setdef BEFORE INSERT ON test FOR EACH ROW SET NEW.txt = COALESCE(NEW.txt, '["default value"]'); INSERT INTO test VALUES (1, '["specified value"]'), (2, NULL); INSERT INTO test (id) VALUES (3); SELECT * FROM test;編號 | 文本檔案 -: | :----------------- 1 | [“指定值”] 2 | [“默認值”] 3 | [“默認值”]
db<>在這里擺弄
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/438536.html
上一篇:選擇不同的并計算行數
