
SQLite3::exec 메소드는 SQL 쿼리를 실행할 때 사용됩니다.
SQL 쿼리를 실행하기 전에, SQLite3::Database 객체를 생성해야 합니다.
#hostingforum.kr
ruby
db = SQLite3::Database.new("example.db")
이후, SQL 쿼리를 실행하는 메소드는 SQLite3::execute 메소드입니다.
#hostingforum.kr
ruby
db.execute("CREATE TABLE users (id INTEGER PRIMARY KEY, name TEXT, age INTEGER)")
INSERT INTO 문을 사용하여 데이터를 삽입하는 방법은 다음과 같습니다.
#hostingforum.kr
ruby
db.execute("INSERT INTO users (name, age) VALUES ('John Doe', 30)")
UPDATE 문을 사용하여 데이터를 수정하는 방법은 다음과 같습니다.
#hostingforum.kr
ruby
db.execute("UPDATE users SET name = 'Jane Doe' WHERE id = 1")
이때, 에러 메시지를 해결하기 위해서는 SQL 쿼리에서 사용하는 컬럼 이름이 실제로 존재하는지 확인해야 합니다.
위의 예시에서 에러 메시지는 "no such column: name" 이므로, SQL 쿼리에서 사용하는 컬럼 이름이 실제로 존재하지 않습니다.
따라서, SQL 쿼리를 수정하여 컬럼 이름을 확인해야 합니다.
#hostingforum.kr
ruby
db.execute("INSERT INTO users (name, age) VALUES ('John Doe', 30)")
이때, 컬럼 이름은 id, name, age 이므로, SQL 쿼리에서 사용하는 컬럼 이름을 확인하여 수정해야 합니다.
#hostingforum.kr
ruby
db.execute("INSERT INTO users (name, age) VALUES ('John Doe', 30)")
이후, 에러 메시지가 나타나지 않습니다.
또한, SQLite3::exec 메소드는 SQLite3::execute 메소드와 동일하게 작동합니다.
#hostingforum.kr
ruby
db.exec("INSERT INTO users (name, age) VALUES ('John Doe', 30)")
이때, SQLite3::exec 메소드는 SQLite3::execute 메소드와 동일하게 작동합니다.
따라서, SQLite3::exec 메소드를 사용하여 SQL 쿼리를 실행할 때, 에러 메시지를 해결하기 위해서는 SQL 쿼리에서 사용하는 컬럼 이름이 실제로 존재하는지 확인해야 합니다.
2025-08-07 08:48