sqlite的格式文本与变量值
我想要做的这个Java代码相当于源码在加薪的错误消息(中止,“消息”),sqlite的格式文本与变量值
String location = //initialize string String output = String.format("Error: Insert into the SIGHTINGS table references location %s that is not found in database.", location);
这是我尝试过,但它似乎没有工作:
CREATE TRIGGER SightingLocationError BEFORE INSERT ON SIGHTINGS
FOR EACH ROW
WHEN NEW.LOCATION NOT IN FEATURES
BEGIN
SELECT RAISE(ABORT, 'Error: Insert into the SIGHTINGS table references location'|| CAST(NEW.LOCATION AS TEXT) ||
'that is not found in the database.');
END;
我也试了一下没有投成文本,并与周围的整个消息的一部分括号,这些方法也不能工作。 格式化错误消息的正确方法是什么,以便它将显示无法插入的位置的名称,因为它不在FEATURE表中?
回答:
它看起来像你试图重塑与触发FOREIGN KEY
。
我建议使用:
CREATE TABLE FEATURES (ID INT PRIMARY KEY /*rest of columns*/); CREATE TABLE SIGHTINGS(ID INT PRIMARY KEY, LOCATION INT,
FOREIGN KEY (LOCATION) REFERENCES FEATURES(id));
DBFiddle Demo
以上是 sqlite的格式文本与变量值 的全部内容, 来源链接: utcz.com/qa/258096.html