我想使用一个准备好的语句运行一个insert命令,其中列应该使用其默认值。
这是一张桌子。
CREATE TABLE food (italian VARCHAR(50) NOT NULL DEFAULT 'pasta') Engine MyISAM;
下面是一些MySQL命令。
PREPARE statement FROM 'INSERT INTO food VALUES(?)';
SET @italian = DEFAULT;
EXECUTE statement USING @italian;
我在SET @italian = DEFAULT;
行遇到语法错误。
但是,如果我运行以下命令。。。
INSERT INTO food VALUES(DEFAULT);
没有语法错误。插入默认值"pasta"时没有问题。
准备好的语句语法有什么问题?
我不知道你的目标是什么,但:
PREPARE statement FROM 'INSERT INTO food VALUES(?)';
SET @italian = NULL;
EXECUTE statement USING @italian;