插入具有不同值的行

时间:2021-01-02 07:03:33

标签: mysql sql database

CREATE TABLE `playersrb` (
`position` numeric(24) DEFAULT NULL,
`piece_color` enum('B','R') NOT NULL,
`id` numeric(30) DEFAULT NULL,
`last_action` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp()
)

如何插入一行? 位置数字 12 piece_color 的 R 编号 0 和 1 。我想这里有两个号码

我做到了

INSERT INTO `playersrb` VALUES('12','R','01');

返回的错误是:

00:20:16    INSERT INTO `playersrb` VALUES('12','R','01')   Error Code: 1136. Column count doesn't match value count at row 1   0.00062 sec

2 个答案:

答案 0 :(得分:1)

您的表名与您尝试插入的表名不同。 您也不会插入与列相同数量的值,因此您需要为每列插入一个值,或者定义要输入的列。

此语句将用于插入一行。

INSERT INTO playersrb VALUES('12','R','01', now());

我假设您希望 last_action 默认为 now(),但要做到这一点,您需要像这样定义列:

INSERT INTO 
    playersrb
    (position, piece_color, id)
VALUES
    ('12', 'R', '01');

答案 1 :(得分:0)

如果您想使用 VALUES,则需要指定要插入的列。在你的情况下,它会是这样的:

INSERT INTO `playersrb` (`position`, `piece_color`, `id`) VALUES ('12','R','01');