我想使用准备好的语句运行插入命令,其中列应使用其默认值。
这是一张桌子。
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;