我遇到这个问题,我想要使用knexjs插入一组数据。但我希望插入忽略重复,即仅在数据不存在时插入。我可以这样做
knex('rates').insert(allRates);
但我想知道如果它存在,我可以使用ignore
修饰符。我也不想做knex.raw
谢谢。
答案 0 :(得分:7)
Knex.js不提供此功能。 一个潜在的解决方案是:
knex.raw(knex('rates').insert(allRates).toString().replace('insert', 'INSERT IGNORE'));
这是raw
功能的最低使用量,并不会强制您手动转换数据。
答案 1 :(得分:0)
我通过以下方式进行操作:
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import time
class InstagramBot:
def __init__(self, username, password):
self.username = username
self.password = password
self.driver = webdriver.Firefox()
def closeBrowser(self):
self.driver.close()
def login(self):
driver = self.driver
driver.get("https://www.instagram.com/accounts/login/?hl=en")
time.sleep(2)
user_name_elem = driver.find_element_by_xpath
("//input[@name='username']")
user_name_elem.clear()
user_name_elem.send_keys(self.username)
passworword_elem = driver.find_element_by_xpath
("//input[@name='password']")
passworword_elem.clear()
passworword_elem.send_keys(self.password)
passworword_elem.send_keys(Keys.RETURN)
time.sleep(2)
ig = InstagramBot("username", "password")
ig.login()