假设我的 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 字符串会是什么样子?
这只是例子,不知道是否正确?
我想它会是这样的:
$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'))
但是,您必须小心使用逗号分隔的值。之间不应有空格,并且所有值都必须与创建表时完全匹配(所有字符均大写和小写)。
INSERT INTO film (special_features) VALUES('预告片、评论');
由于 SET 类型类似于一种 ENUM 类型,同时允许插入多个值,因此这会将两个预定义值插入到 1 列中。
用这个将数据插入mysql $sql = "INSERT INTOspecial_features (row1,row2,row3) VALUES ('预告片', '评论', '幕后花絮')";
如果我没记错的话,您想向数据库添加值,但是您需要插入相同数量的参数。 现在,您的查询正在寻找 1 个参数来存储在special_futures 列中,但您正在传递 3 个值。
这样的东西会更合适。
$sql = "INSERT INTO (trailers, commentaires, behindthescenes) VALUES ("$trailers", "$commentaires", "$behind the scenes")";