标签: insert

MySQL 插入查询缺少非空字段

我目前正在尝试使用 CodeIgniter 的对象关系映射器,但我遇到了一些我没有预料到的事情。

我有一个包含几个字段的表,其中一些字段不为空。生成缺少 NOT NULL 字段的插入查询 - 添加一个新行,但这些字段为空白。

我不知道 MySQL 会忽略查询中不存在的 NOT NULL 字段并无论如何插入该行。有没有办法限制这个?

-编辑-

让我添加更多细节并尝试对其进行更多解释

这是一个示例表:

CREATE TABLE `test` (
 `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
 `color` varchar(40) COLLATE utf8_bin DEFAULT '',
 `shape` varchar(40) COLLATE utf8_bin NOT NULL,
 `size` varchar(40) COLLATE utf8_bin NOT NULL,
 PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 COLLATE=utf8_bin
Run Code Online (Sandbox Code Playgroud)

这是一个示例查询:

INSERT INTO `test` (`shape`) VALUES ('foo')
Run Code Online (Sandbox Code Playgroud)

我的查询中没有size,但它仍然添加该行 - 这是预期的吗?

(示例查询在 phpMyAdmin 中运行)

mysql sql codeigniter insert

0
推荐指数
1
解决办法
4317
查看次数

Android SQL INSERT语句使用变量问题

我的 SQL INSERT 语句有问题。我试图插入存储在字符串中的数据,但这总是会引发错误。

private final String HASH_DB = "hashDb";
private final String HASH_TABLE2 = "newHashes";

SQLiteDatabase hashDB = null;

hashDB = this.openOrCreateDatabase(HASH_DB, MODE_PRIVATE, null);

hashDB.execSQL("CREATE TABLE IF NOT EXISTS " + HASH_TABLE2
    + " (dialogID INT, Filename VARCHAR, Hash VARCHAR);");

hashDB.execSQL("INSERT INTO " + HASH_TABLE2 +" (dialogID, Filename, Hash) "
   + " Values (dialogID, filename, newHash);");
Run Code Online (Sandbox Code Playgroud)

dialogID 是一个 int,Filename 和 Hash 都是字符串,我已经通过在 Toast 中显示它们来确认正确的数据存储在其中。

上面抛出了一个错误,但是如果我将最后一行更改为下面的内容,即对要插入的数据进行硬编码,它就可以工作。

hashDB.execSQL("INSERT INTO " + HASH_TABLE2 +" (dialogID, Filename, Hash) "
   + " Values (4, …
Run Code Online (Sandbox Code Playgroud)

sql android insert

0
推荐指数
1
解决办法
5316
查看次数

插入时忽略其中包含空值的记录

我有下表:

发明人(发明人ID专利号,发明人第一,发明人最后,城市,州)

其中 inventoryid 为 pk,patentno 为 fk。

这是当前的插入代码:

insert into Inventor (PatentNo, InventorFirst, InventorLast, City, statename, country, NationalityCountry, ResidenceCountry)
select PatentNo, InventorFirstname, InventorLastname, City, statename, country, NationalityCountry, ResidenceCountry
from InventorUpdate;
Run Code Online (Sandbox Code Playgroud)

我想修改它,以便如果 InventorFirstname 和 InventorLastname 字段为空,则它不会插入到inventor表中

sql sql-server insert sql-server-2008

0
推荐指数
1
解决办法
4170
查看次数

有效地向字符串附加或插入可变数量的空格

我有一个简单的程序,可以插入或附加一些空格来对齐文本。

f()
{
    string word = “This word”;
    const string space = “ “;
    int space_num = 5; // this number can vary 
    for (int i = 0; i < space_num; i++)
        {
            word.insert(0, space);
        }   
    cout << word;
}
Run Code Online (Sandbox Code Playgroud)

现在这有效,但我想知道是否有更有效的方法来做到这一点。不是在优化我的程序方面,而是在标准实践中。

我可以想象两种潜在的方法:

1 - 有没有办法创建一个 20 个空格的字符串,并附加这些空格的一部分,而不是重复添加一个空格。

2 – 有没有办法用可变数量的空格创建字符串并附加它?

c++ string insert append

0
推荐指数
1
解决办法
3010
查看次数

MySQL 和插入忽略

我正在尝试从 MySQL 中的数据库读取并将我的数据插入到 MySQL 中的另一个数据库中。

我的第一张桌子是这样的

CREATE TABLE IF NOT EXISTS `link` (
  `_id` bigint(20) NOT NULL AUTO_INCREMENT,
  `country` varchar(30) COLLATE utf8 DEFAULT NULL,
  `time` varchar(20) COLLATE utf8 DEFAULT NULL,
  `link` varchar(100) COLLATE utf8 DEFAULT NULL,
  PRIMARY KEY (`_id`)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8 AUTO_INCREMENT=6149 ;
Run Code Online (Sandbox Code Playgroud)

第二张表是

CREATE TABLE IF NOT EXISTS `country` (
  `ID` int(11) NOT NULL AUTO_INCREMENT,
  `Name` varchar(15) CHARACTER SET utf8 NOT NULL,
  `Logo` varchar(50) CHARACTER SET utf8 DEFAULT NULL,
  PRIMARY KEY (`ID`),
  UNIQUE KEY `Name_3` (`Name`),
  UNIQUE …
Run Code Online (Sandbox Code Playgroud)

php mysql insert sql-insert

0
推荐指数
1
解决办法
532
查看次数

INSERT ... IGNORE 从另一个表

我想使用以下命令将来自一个表的一些记录插入到另一个表中INSERT ... IGNORE

INSERT IGNORE into separa (no_cliente,contratante) values (select cl_num,cl_aseg from clientes)
Run Code Online (Sandbox Code Playgroud)

但是 MySQL 告诉我错了,有什么帮助吗?

mysql insert insert-select

0
推荐指数
1
解决办法
2591
查看次数

插入语句检查为 NULL SQL Server 2008

我的小型 SQL 查询只是将数据从旧数据库导入到新数据库。我的新数据库不允许ProjectNo,ProjectName或者LeaderID是一个NULL值,所以我的代码需要检查该值是否是NULL,如果是,添加ProjectNameLeaderID(ProjectNo是旧表的主键,所以不能是NULL)的默认值。

据我所知,我已经正确地编写了 case 语句,但我不断收到以下错误:

无法将值 NULL 插入列“ProjectName”、表“ERP.dbo.Project”;列不允许空值。插入失败。

我也在使用 SQL Server 2008

INSERT INTO [ERP].[dbo].[Project] ([ProjectID], [ProjectName], [LeaderID])
   SELECT 
       ProjectNo, 
       CASE 
          WHEN ProjectName IS NULL THEN 'Unknown' 
       END, 
       CASE 
          WHEN ProjectLeaderID IS NULL THEN 1 
       END 
   FROM 
       Multitech.dbo.Projects
GO
Run Code Online (Sandbox Code Playgroud)

sql sql-server null insert case

0
推荐指数
1
解决办法
7435
查看次数

Visual Studio 2017 鼠标光标总是像插入模式一样闪烁

最近我安装了 Visual Studio 2017 Enterprise,当我打开任何文件(如 .cs、.cshtml)时,每次光标变为灰色矩形时,编辑器就好像处于 Over-strike 模式,即使底部的指示器窗口上写着“INS”

所以我点击了几次插入按钮,然后在“OVR”“INS”之间循环,光标又回到“|” 我开始编码。然后,当我突出显示某些文本时,它会再次发生。这是非常令人沮丧和痛苦的。

双击指示器具有与插入按钮相同的临时结果。

那么我怎样才能永久解决我的问题呢?

c# insert visual-studio mouse-cursor vim-syntax-highlighting

0
推荐指数
1
解决办法
3811
查看次数

Excel VBA 循环遍历列并根据单元格值插入行

你好!

我正在尝试构建一个代码,该代码循环遍历范围 C8:C3276 中的每个单元格,如果单元格值为“总计”,则在下方插入一个新行。

这是我到目前为止的代码:

Sub Create_new_rows()

Dim rng As Range
Dim cell As Range
Set rng = Range("C8:C3276")

For Each cell In rng

If ActiveCell.Value = "Total" Then
ActiveCell.Offset(1, 0).Activate
ActiveCell.EntireRow.Insert
End If

Next cell

End Sub
Run Code Online (Sandbox Code Playgroud)

当我执行代码时没有任何反应。我假设在宏运行时代码构建不正确(我没有收到错误消息),但没有做任何事情。

任何帮助是极大的赞赏!:)

excel vba loops row insert

0
推荐指数
1
解决办法
4688
查看次数

postgresql:带有选择查询的 INSERT INTO 语句

我必须在table现有client_id列中插入一些数据,所以我使用 select 和 insert

INSERT into 'my_table' (column1, client_id, column3) VALUES (val1,select distinct client_id from 'my_table', val3)

我需要来自同一个表的my_tableclient_id 并且我需要在插入语句中使用 client_ids。

SELECT DISTINCT client_id FROM my_table 给了我 113 个 client_id,所以我想使用上述方法为每个 113 个客户端插入一些行。

我做了这个查询

INSERT INTO client_notification_preferences (client_id, object_type , frequency,created_at,updated_at) SELECT DISTINCT client_id, 'ClientShipment',1, CURRENT_TIMESTAMP , CURRENT_TIMESTAMP FROM client_notification_preferences;

但这给了我这个错误 在此处输入图片说明

 create_table "client_notification_preferences", id: :uuid, default: "uuid_generate_v4()", force: :cascade do |t|
t.uuid     "client_id"
t.string   "object_type"
t.integer  "frequency"
t.datetime "created_at",  null: false
t.datetime "updated_at",  null: false
Run Code Online (Sandbox Code Playgroud)

结尾

postgresql select insert nested-query

0
推荐指数
1
解决办法
2062
查看次数