php - 拉维尔 5 : differentiate if new row inserted in DB

标签 php mysql laravel laravel-5

如何使用 Laravel DB::insert() 区分是否插入了新行?,我的查询:

$return = DB::insert("
     INSERT IGNORE INTO groups
     (uid,name)
     VALUES
     ({$uid},'{$name}')
");

echo $return; // 1 in both cases

我发现在这两种情况下,如果插入的新行返回 1,如果没有(因为主键重复)也返回 1

最佳答案

不要使用 INSERT IGNORE,只需使用常规 INSERT 语句或模型插入,并将其包装在异常处理程序中。如果触发异常,则插入不会创建新行。

关于php - 拉维尔 5 : differentiate if new row inserted in DB,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34587924/

相关文章:

mysql - SQL 计数但排除某些行

mysql - 根据列值连接 3 个表 - Laravel

php - 将 2 个集合合并到另一个集合中,并在两个 Laravel 中具有相同的值

php - MySQL查询只返回一个结果

php - 自定义配置文件 URL Codeigniter

php - 当与主键匹配时更新 MySql 中的表字段

php - 在 php.ini 文件中设置 PHP 的时区

php - MYSQL导航栏将类别添加到类别表,但检查类别是否已存在

php - 在 Laravel 5 中将 `dateTime` 列拆分为单独的 `date` 和 `time` 列

javascript - jquery ajax 在 str.replace 后不工作