Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql SQL插入到varchar中_Mysql_Sql - Fatal编程技术网

Mysql SQL插入到varchar中

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>) ); 那么你的插页就可以了 主键不应具有默认值。简单地将其声明为主键意味着它不能为

我一直在尝试在我的varchar列K_Name中插入3个值,但当我尝试使用insert-INTO命令插入它们时,会出现以下错误:

很明显,您有另一个列是默认值为0或“0”的主键

您的桌子可能看起来像:

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在另一个表中用作伪造键。有吗如何更改另一个表中用作伪造键的列?我设法更改了它非常感谢您的帮助我的问题已解决。