Mysql SQL插入到varchar中
我一直在尝试在我的varchar列K_Name中插入3个值,但当我尝试使用insert-INTO命令插入它们时,会出现以下错误:很明显,您有另一个列是默认值为0或“0”的主键 您的桌子可能看起来像:Mysql SQL插入到varchar中,mysql,sql,Mysql,Sql,我一直在尝试在我的varchar列K_Name中插入3个值,但当我尝试使用insert-INTO命令插入它们时,会出现以下错误:很明显,您有另一个列是默认值为0或“0”的主键 您的桌子可能看起来像: create table tblkunden ( kunden_id int auto_increment primary key, k_name varchar(<whatever>) ); 那么你的插页就可以了 主键不应具有默认值。简单地将其声明为主键意味着它不能为
create table tblkunden (
kunden_id int auto_increment primary key,
k_name varchar(<whatever>)
);
那么你的插页就可以了
主键不应具有默认值。简单地将其声明为主键意味着它不能为null,并且不能插入重复项。将其声明为auto_increment可确保在insert中指定该值。显然,您还有另一列是默认值为0或“0”的主键 您的桌子可能看起来像:
create table tblkunden (
kunden_id int auto_increment primary key,
k_name varchar(<whatever>)
);
那么你的插页就可以了
主键不应具有默认值。简单地将其声明为主键意味着它不能为null,并且不能插入重复项。将其声明为自动增量可确保在插入中指定该值。如果已经有主键列并且只需要自动增量,则可以尝试
ALTER TABLE tblkunden MODIFY COLUMN K_Nr INT NOT NULL AUTO_INCREMENT;
否则,如果已经有一个主键列并且只需要一个自动增量,则应该在表创建的脚本中添加autoincrement子句
ALTER TABLE tblkunden MODIFY COLUMN K_Nr INT NOT NULL AUTO_INCREMENT;
否则,您应该在表创建的脚本中添加autoincrement子句-
INSERT INTO tblkunden (K_Nr, k_name)
VALUES(1,'Hans'),
(2,'Franz'),
(3, 'Peter');
这是因为主键(k_Nr column)中不能有NULL,并且因为它是主键,所以它需要是唯一的值
您还可以将主键用作上面的答案中提到的自动增量,这将使每个值增加1,如果需要,您可以将其更改为具有不同的增量
我希望这是有道理的 试试看-
INSERT INTO tblkunden (K_Nr, k_name)
VALUES(1,'Hans'),
(2,'Franz'),
(3, 'Peter');
这是因为主键(k_Nr column)中不能有NULL,并且因为它是主键,所以它需要是唯一的值
您还可以将主键用作上面的答案中提到的自动增量,这将使每个值增加1,如果需要,您可以将其更改为具有不同的增量
我希望这是有道理的 我想至少我已经这样安排了我的桌子,但它仍然不适合我。它的结构如下:MariaDB[awp]>CREATE TABLE tblkunden->K_Nr int11,->K_Name varchar30,->K_CreditCardNr char16,->PRIMARY KEYK_Nr->;您需要将它声明为自动增量,而不仅仅是主键。我已经这样构造了我的表,至少我认为,但它仍然不适用于我。它的结构如下:MariaDB[awp]>CREATE TABLE tblkunden->K_Nr int11,->K_Name varchar30,->K_CreditCardNr char16,->PRIMARY KEYK_Nr->;您需要将其声明为自动增量,不仅仅是作为主键。这不起作用,因为K_Nr在另一个表中用作伪造键。有没有方法可以更改在另一个表中用作伪造键的列?我设法更改了它。非常感谢您的帮助,我的问题得到了解决。这不起作用,因为K_Nr在另一个表中用作伪造键。有吗如何更改另一个表中用作伪造键的列?我设法更改了它非常感谢您的帮助我的问题已解决。