我想使用准备好的语句运行插入命令,其中列应使用其默认值。

这是一张桌子。

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;

10-02 13:50