SQL uchun bir xil qiymat uchun ko'p qatorli qatorlarni qo'shing

Xuddi shu qiymat uchun bir nechta qatorni qanday kiritish mumkin Masalan, har bir foydalanuvchi har bir shaklda foydalanuvchi nomi bir xil, shuning uchun ma'lumot ikki xil ko'rinishi kerak

UPDATE'dan foydalanishga harakat qilaman, lekin ikkalasini ham saqlab qolmoqchi bo'lganimda, ole ma'lumotlarini olib tashlaydi va uni yenisiyle o'zgartiradi

Buning bir yo'li bormi?

0
Xuddi shu stolga yoki ikki xil jadvalga?
qo'shib qo'ydi muallif jarlh, manba

9 javoblar

insert into your_table (username, col2)
values ('user1', 1),
       ('user1', 2)
3
qo'shib qo'ydi
Shuningdek, "foydalanuvchi nomi" ustunida UNIQUE indeksiga ega emasligiga ishonch hosil qiling
qo'shib qo'ydi muallif Parth Shah, manba

Buning uchun ommaviy kiritish so'rovini ishlatishingiz mumkin. @huergen tomonidan taklif qilinganidek, lekin foydalanuvchi ismingiz yoki ariza ma'lumotlaridagi biron bir sohaning UNIQUE kalit indeksiga ega emasligiga ishonch hosil qiling. Shuningdek, ushbu jadvaldagi PRIMARY tugmasi kabi ishlaydigan boshqa maydonlarni qo'shishingiz mumkin. Buning ko'p usullari mavjud, ammo u sizning talabingizga bog'liq.

0
qo'shib qo'ydi

Buning uchun ommaviy kiritish so'rovini ishlatishingiz mumkin. @huergen tomonidan taklif qilinganidek, lekin foydalanuvchi ismingiz yoki ariza ma'lumotlaridagi biron bir sohaning UNIQUE kalit indeksiga ega emasligiga ishonch hosil qiling. Shuningdek, ushbu jadvaldagi PRIMARY tugmasi kabi ishlaydigan boshqa maydonlarni qo'shishingiz mumkin. Buning ko'p usullari mavjud, ammo u sizning talabingizga bog'liq.

0
qo'shib qo'ydi

Buning uchun ommaviy kiritish so'rovini ishlatishingiz mumkin. @huergen tomonidan taklif qilinganidek, lekin foydalanuvchi ismingiz yoki ariza ma'lumotlaridagi biron bir sohaning UNIQUE kalit indeksiga ega emasligiga ishonch hosil qiling. Shuningdek, ushbu jadvaldagi PRIMARY tugmasi kabi ishlaydigan boshqa maydonlarni qo'shishingiz mumkin. Buning ko'p usullari mavjud, ammo u sizning talabingizga bog'liq.

0
qo'shib qo'ydi

O'zingiz xohlagan natijani olish uchun quyida joylashgan formatni kiriting:

insert into Table_name(Field1, Field2)
SELECT 'user_1', 1 UNION ALL
SELECT 'user_1', 2
0
qo'shib qo'ydi

Ikki jadvalga ega bo'ling: 'USERS' va 'FORMSUBMISSIONS'

Agar foydalanuvchi birinchi marta ariza topshirsa, USERS jadvalida har bir foydalanuvchi uchun noyob bo'lgan yangi foydalanuvchi yaratiladi va foydalanuvchi bilan bog'langan ma'lumot bo'ladi.

Va ariza topshirilganda (birinchi marta shu jumladan), ariza yozilish tafsilotlari bilan FORMSUBMISSIONS jadvaliga va USER-ga qaytariladigan chet el kalitiga yozuv yoziladi.

Bu vaziyat uchun toza ma'lumot modeli. Shuningdek, ma'lumotlar kelgusidagi so'rovlarga yordam beradi. Agar biron sababga ko'ra bitta jadval bilan cheklangan bo'lsangiz, USER maydonida yagona kalit bo'lmasa, ketma-ket qo'shimchalar yuqoridagi kabi ishlaydi.

0
qo'shib qo'ydi

Ikki jadvalga ega bo'ling: 'USERS' va 'FORMSUBMISSIONS'

Agar foydalanuvchi birinchi marta ariza topshirsa, USERS jadvalida har bir foydalanuvchi uchun noyob bo'lgan yangi foydalanuvchi yaratiladi va foydalanuvchi bilan bog'langan ma'lumot bo'ladi.

Va ariza topshirilganda (birinchi marta shu jumladan), ariza yozilish tafsilotlari bilan FORMSUBMISSIONS jadvaliga va USER-ga qaytariladigan chet el kalitiga yozuv yoziladi.

Bu vaziyat uchun toza ma'lumot modeli. Shuningdek, ma'lumotlar kelgusidagi so'rovlarga yordam beradi. Agar biron sababga ko'ra bitta jadval bilan cheklangan bo'lsangiz, USER maydonida yagona kalit bo'lmasa, ketma-ket qo'shimchalar yuqoridagi kabi ishlaydi.

0
qo'shib qo'ydi

USERNAME sütunlarınızın çoğaltmalara ruxsat bergan-qilmagin bog'liq.

Jadvalning asosiy kaliti bo'lsa, jadval sxemasi siz xohlagan narsani qo'llab-quvvatlamaydi, chunki PK UNIQUE bo'lishi kerak.

Sizning USERNAME ustuningiz kopyalar beradi, siz INSERT dan foydalanishingiz mumkin:

 declare @username varchar(max) = 'your_username' --declare a variable to use the same username

 insert into table_name (username, form_data)
 values(@username, 'form_data_1')
      ,(@username, 'form_data_2')

Bundan tashqari, siz SQL bayonnomasini qanday bajarayotganingizga bog'liq. Men, albatta, borib, ushbu qo'shimchani bajarish uchun o'zida saqlab turadigan jarayonni yarataman.

0
qo'shib qo'ydi

ikkilamchi ma'lumotlarni qo'shishingiz mumkin, chunki asosiy kalitingiz birlamchi kalit chekloviga olib kelishi sababli takrorlanmaydi. shuning uchun siz nima qila olasiz, qo'shimcha ustunga ega bo'lish uchun "ID" deb ayting, uni sizning asosiy kalitingiz qilib oling. Satrni topshirishda identifikator ustunining qiymatini birma-bir qo'shishda davom ettirilsa, ma'lumotlarning qolgan qismi bir xil bo'lishi mumkin.

0
qo'shib qo'ydi
PhP |BotsUz
PhP |BotsUz
93 ishtirokchilar

Phpni o'rganishni Hohlasangiz https://t.me/joinchat/AAAAAE-KRc5dd5tPMmGmWA A'zo bo'lin