标签: sql-insert

添加约束以防止SQL Update触发器中出现重复

我们有一个用户表,每个用户都有一个唯一的电子邮件和用户名.我们尝试在我们的代码中执行此操作,但我们希望确保用户永远不会使用相同的电子邮件用户名插入(或更新)数据库.我添加了一个BEFORE INSERTTrigger,可防止重复用户的插入.

CREATE TRIGGER [dbo].[BeforeUpdateUser]
   ON  [dbo].[Users]
   INSTEAD OF INSERT
AS 
BEGIN
    -- SET NOCOUNT ON added to prevent extra result sets from
    -- interfering with SELECT statements.
    SET NOCOUNT ON;

    DECLARE @Email nvarchar(MAX)
    DECLARE @UserName nvarchar(MAX)
    DECLARE @UserId int
    DECLARE @DoInsert bit

    SET @DoInsert = 1

    SELECT @Email = Email, @UserName = UserName FROM INSERTED

    SELECT @UserId = UserId FROM Users WHERE Email = @Email

    IF (@UserId IS NOT NULL)
        BEGIN
            SET @DoInsert = 0
        END

    SELECT …
Run Code Online (Sandbox Code Playgroud)

sql triggers sql-update sql-insert

0
推荐指数
2
解决办法
3155
查看次数

在MySql中插入错误的数据

以下是我的查询

insert into sms (mobile) values ("255786786072")
Run Code Online (Sandbox Code Playgroud)

我在表中"mobile"字段中获得的值是2147483647."mobile"字段的数据类型是varchar(15).

任何建议.

mysql sql phpmyadmin sql-insert

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

插入时Mysql抛出错误

我有一张桌子

CREATE TABLE IF NOT EXISTS `employee` (
`ID` int(11) NOT NULL AUTO_INCREMENT,
`NAME` varchar(255) DEFAULT NULL,
`SALARY` int(11) DEFAULT NULL,
`DEPT` varchar(10) DEFAULT NULL,
PRIMARY KEY (`ID`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
Run Code Online (Sandbox Code Playgroud)

如果我为上面的表插入值,就像下面的抛出错误一样

INSERT INTO employee ('NAME', 'SALARY', 'DEPT') VALUES ('user test', 10000, 'ADMIN');
Run Code Online (Sandbox Code Playgroud)

php mysql sql sql-insert

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

MySQL插入语句不会插入?

我在下面附上了我的PHP代码.它正确计算累积值并正确构建SQL语句(测试者echo $sql;).然而,进入MySQL的instert声明是不成功的.有任何想法吗?

<?php 
ini_set('memory_limit', '500M');
set_time_limit(1800);
$dbh = new mysqli('localhost','user','password','database') or die(mysql_error());
$query = "SELECT * FROM table1 ORDER BY id, date";
$del = "DELETE FROM table2";
$dbh->query($del);
if ($dbh->multi_query($query)){
    if ($result = $dbh->store_result()){
        $id = 0;
        while ($row = $result->fetch_row()){
            $date = $row[0];
            $cvalue = $row[2];
            $id = $row[1];
            $cumulative = 0;
            // Pull most recent cumulative value 
            $sql_recent = "SELECT * FROM table2 WHERE id = $id ORDER BY date DESC LIMIT 1";
            if ($dbh->multi_query($sql_recent)){
                if …
Run Code Online (Sandbox Code Playgroud)

php mysql sql database sql-insert

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

如果存在更新,则插入csv数据MySQL

我正在使用从第三方源提取的csv文件填充MySQL表.每天都会更新csv,如果列a,b和c的出现已经存在,我想更新MySQL表中的行,否则插入行.我使用load data infile进行初始加载,但我想针对每日csv pull更新.我熟悉INSERT ... ON DUPLICATE,但不熟悉csv导入的上下文.关于如何在INSERT中嵌入LOAD DATA LOCAL INFILE的任何建议... ON DUPLICATE a,b,c - 或者如果这是最好的方法将非常感激.

LOAD DATA LOCAL INFILE 'C:\\Users\\nick\\Desktop\\folder\\file.csv' 
INTO TABLE db.tbl
FIELDS TERMINATED BY ',' 
ENCLOSED BY '"' 
LINES TERMINATED BY '\r\n' 
IGNORE 1 lines;     
Run Code Online (Sandbox Code Playgroud)

mysql csv sql-update sql-insert

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

Python3 | sqlite3:executemany()不插入任何内容

我想使用sqlite3executemany()插入多个值Python3

码:

import sqlite3
conn = sqlite3.connect('rssnewsdata.db')
c = conn.cursor()

entries = [
    ('url1', 1234, 'title1', 'summary1', 'feedurl1'),
    ('url2', 1235, 'title2', 'summary2', 'feedurl2'),
    ('url3', 1236, 'title3', 'summary3', 'feedurl3'),
    ('url4', 1237, 'title4', 'summary4', 'feedurl4')
]

c.executemany('INSERT INTO entries VALUES (?, ?, ?, ?, ?)', entries)
Run Code Online (Sandbox Code Playgroud)

db文件存在,该表存在,我可以使用Python3SELECT来自它,所以连接到它是没有问题的。该栏目是TEXTINTEGERTEXTTEXTTEXT键入。

Python没有报告错误。缺什么?

sqlite executemany python-3.x sql-insert

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

在C#中将集合插入SQL Server表

尝试将一个集合插入到SQL Server 2014中的表中.这是我执行的代码而没有错误但是当我检查我的表时 - 没有添加任何内容.我的集合对象orders不是空的,我可以看到它在调试时有3个成员.

 IEnumerable<CompleteOrderDetails> orders;
 JoinDetails(doc, ns, xmlFragment1, out orders);

 string connectionstring = null;
 SqlConnection conn;
 connectionstring = "Data Source = DANNY; Initial Catalog = Alliance; Integrated Security = SSPI";

 using (conn = new SqlConnection(connectionstring))
 {
    string customerInsert = "INSERT INTO AmazonCustomer (AddressLine1, AddressLine2, AddressLine3, City, StateOrRegion, AmazonOrderId, PostalCode, Title, ItemPrice, ShippingPrice, Quantity) " + 
                            "VALUES (@AddressLine1, @AddressLine2, @AddressLine3, @City, @StateOrRegion, @AmazonOrderId, @PostalCode, @Title, @ItemPrice, @ShippingPrice, @Quantity)";

    using (SqlCommand query = new SqlCommand(customerInsert))
    {
        query.Connection = …
Run Code Online (Sandbox Code Playgroud)

c# sql-server sqlconnection sql-insert

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

"."附近的语法不正确 SQL INSERT c#

我正在尝试使用类Object将新记录添加到SQL数据库表.我创建了一个Products列表,然后用sql语句遍历所有这些产品.

我的代码是这样的:

    private void backupButton_Click(object sender, RoutedEventArgs e)
    {
        ReadAllProductsList dbproducts = new ReadAllProductsList();
        DB_Product = dbproducts.GetAllProducts();
        List<Product> SQLProductList = new List<Product>();
        SQLProductList = DB_Product.Where(Product => Product.UserId == currentUser).ToList();
        for(int i = 0; i < SQLProductList.Count; i++)
        {
            InsertSQLProduct(new Product(SQLProductList[i].UserId,
                                                        SQLProductList[i].Name));

        }
    }

    public void InsertSQLProduct(Product objProduct)
    {
        using (var connection = new SqlConnection("Server=localhost\\SQLEXPRESS;Integrated Security=SSPI;database=MyLocalDB"))
        {
            connection.Open();
            using (SqlCommand command = new SqlCommand("INSERT INTO Product (UserId, Name) '" +
                                                        "'VALUES (null, '" + objProduct.Name + "');", connection))
            {
                command.ExecuteNonQuery();
            } …
Run Code Online (Sandbox Code Playgroud)

c# mysql sql sql-insert

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

操作前表格的存在

我想对表的存在进行测试,以执行类似以下操作:

如果(表存在),那么我的操作将插入到表中

否则我会做:

 select * into Table from MySource
Run Code Online (Sandbox Code Playgroud)

我们如何使用SQL执行此操作?

当我只检查表的存在时:

IF EXISTS (SELECT * FROM Table)
    print 'OK'
Else
    Print 'KO'
Run Code Online (Sandbox Code Playgroud)

该表不存在时,我不知道。

sql-server select exists sql-insert

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

SQL Server:在一个sql查询中添加多行

我想在一个查询中插入多个行,如下所示:

insert into EducationInfo (student_id, school_id)
values (
    (select id
     from STUDENT
     where iin in (select distinct iinplt
                   from TEST_STUDENT
                   where id_university = 9)), 23421
       )
Run Code Online (Sandbox Code Playgroud)

当然是不可能的。我知道我可以这样做:

 values(1,23421),
 values(2,23421)...
Run Code Online (Sandbox Code Playgroud)

但是如您所见,我不知道student_id列中的ID,并且ID过多。有什么可行的方法吗?

sql database sql-server sql-insert

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