使用 PHP 将 SET 元素插入 mysql 数据库表

问题描述 投票:0回答:4

假设我的 mysql 数据库中有一个名为 Film 的表。它有一个 film_id(id 列)和special_features 列(SET 类型)。以前从未使用过SET类型。 Special_features 列的类型为 set('Trailers', 'Commentaries', 'behind'),

我想在表中输入这一行:

SET("trailers", "commentaires", "behind the scenes");

我的基本 sql 命令在 php 中应该是什么样子?我正在使用 MySQLi,我想要基本的 sql 字符串。

$sql = "INSERT INTO (special_features) VALUES (('trailers', 'commentaires', 'behind the scenes'))";

如果我只想插入预告片和评论,我的 sql 字符串会是什么样子?

这只是例子,不知道是否正确?

php mysql sql mysqli
4个回答
0
投票

我想它会是这样的:

$sql = "INSERT INTO set_field(special_features) VALUES('trailers,commentaires')";

这是包含所有胶片表列的另一个示例:

INSERT INTO `film`(`title`, `description`, `release_year`, `language_id`, `original_language_id`, `rental_duration`, `rental_rate`, `length`, `replacement_cost`, `rating`, `special_features`) VALUES ('blade','cutting vampires','1998',1,1,0.4,4.99,120,60,0.8, ('Trailers,Commentaries,Deleted Scenes,Behind the Scenes'))

但是,您必须小心使用逗号分隔的值。之间不应有空格,并且所有值都必须与创建表时完全匹配(所有字符均大写和小写)。


0
投票

INSERT INTO film (special_features) VALUES('预告片、评论');

由于 SET 类型类似于一种 ENUM 类型,同时允许插入多个值,因此这会将两个预定义值插入到 1 列中。


-1
投票

用这个将数据插入mysql $sql = "INSERT INTOspecial_features (row1,row2,row3) VALUES ('预告片', '评论', '幕后花絮')";


-1
投票

如果我没记错的话,您想向数据库添加值,但是您需要插入相同数量的参数。 现在,您的查询正在寻找 1 个参数来存储在special_futures 列中,但您正在传递 3 个值。

这样的东西会更合适。

$sql = "INSERT INTO (trailers, commentaires, behindthescenes) VALUES ("$trailers",     "$commentaires", "$behind the scenes")";
© www.soinside.com 2019 - 2024. All rights reserved.