MySQL 如果不对 id(主键)进行硬编码,插入语句将无法工作
MySQL insert statement won't work without hard coding the id (primary key)
MySqlCommand 导致错误“id 不能为空”
MySqlCommand cmd = new MySqlCommand($"insert into dataBase.testingTable (id, value1, value2, value3) values (null,'test','2021-1-1', 9)", connection);
connection.Open();
cmd.ExecuteReader();
connection.Close();
以下语句也产生了与 Id 相关的错误:
insert into dataBase.testingTable (value1, value2, value3) values ('test','2021-1-1', 9) //id column is missing
insert into dataBase.testingTable values ('test','2021-1-1', 9) //column number mismatch
如何解决这个错误。
我正在使用 MySQL 服务器、MySQL workbench 和 Visual Studio 的 WPF 框架。
Workbench中的table
您的第一个查询失败,因为 ID 列是无法分配 NULL 的 PRIMARY KEY 列。
第二个失败,因为 ID 列不是 NULL 并且您没有在 INSERT 语句中列出它。
第三个失败,因为您没有在插入语句中提及列名,因为系统需要所有 4 列的值,但您只提供了 3.
上述所有问题的解决方案是:使您的 ID 列自动递增或为插入的每一行提供一个非空唯一值。
MySqlCommand 导致错误“id 不能为空”
MySqlCommand cmd = new MySqlCommand($"insert into dataBase.testingTable (id, value1, value2, value3) values (null,'test','2021-1-1', 9)", connection);
connection.Open();
cmd.ExecuteReader();
connection.Close();
以下语句也产生了与 Id 相关的错误:
insert into dataBase.testingTable (value1, value2, value3) values ('test','2021-1-1', 9) //id column is missing
insert into dataBase.testingTable values ('test','2021-1-1', 9) //column number mismatch
如何解决这个错误。
我正在使用 MySQL 服务器、MySQL workbench 和 Visual Studio 的 WPF 框架。
Workbench中的table
您的第一个查询失败,因为 ID 列是无法分配 NULL 的 PRIMARY KEY 列。
第二个失败,因为 ID 列不是 NULL 并且您没有在 INSERT 语句中列出它。
第三个失败,因为您没有在插入语句中提及列名,因为系统需要所有 4 列的值,但您只提供了 3.
上述所有问题的解决方案是:使您的 ID 列自动递增或为插入的每一行提供一个非空唯一值。